string.replace()函数如何工作?

时间:2013-11-12 02:42:47

标签: java

这似乎是一个奇怪的问题,但是string.replace()如何在二进制文件中工作?

很抱歉这个简短的问题。

编辑:

所以我想我没有说清楚。

如何搜索类变量String的二进制文件。我无法做出源代码的正面或反面,所以。

1 个答案:

答案 0 :(得分:0)

替换方法有两种方法:一种是替换"字符串"使用另一个"字符串",而另一个是用指定字符替换字符串中的字符。

替换"字符串"如果序列与另一个"字符串",Java虚拟机将必须加载另一个类(Matcher类)。这个其他类又将目标字符串转换为没有非终端正则表达式符号的东西。然后,由另一个类搜索转换后的字符串,以查找与旧字符序列匹配的字符序列。这些字符序列使用另一个类StringBuffer逐个附加,但这次替换被编码到缓冲存储器而不是"旧字符串"序列。然后,Matcher类的控制将返回String类。由于我们在这里谈论另一个课程,所以我不会详细说明这一部分。

在用指定字符替换字符串中的字符时,Java虚拟机的控制权仍保留在"二进制文件中。 String类的指令。首先,检查是否确实存在替换。检查诸如新旧字符的相等性和目标字符的存在之类的事物。一旦这些"测试"传递后,将创建一系列Unicode字符作为目标String值的副本。遍历这个字符序列,然后遍历每个" old"使用" new"的位序列逐个填充字符。字符。实际填充完成后,将从所述字符序列中创建一个新类型的String。返回结果字符串。

当然,这个答案可以进一步阐述。我希望偷看也可以帮助我解决我的问题。