【发布时间】:2014-01-21 09:35:16
【问题描述】:
我想在 java 字符串中进行一些有效的每个字符替换,这是更好的方法,可以使用 .toCharArray() 或 .getBytes() 吗?
示例代码:
// big loop {
String s = "..###.##...#";
char[] c = s.toCharArray();
c[4] = '$';
c[8] = 'A';
// etc
// }
如果这两种方法之间存在一些差异,或者如果其中一种方法优于另一种方法,我会很高兴听到。
【问题讨论】:
-
看看类似的帖子stackoverflow.com/questions/8894258/…(迭代字符串中所有字符的最快方法)
-
@BrianRoach 正在寻找效率(基于数组的操作),而不是构建者
-
@NeerajKrishna 正在寻找 modify 字符串,而不仅仅是迭代,所以这个问题不一样。
-
@vikingsteve 忽略你不太可能需要这样的“效率”......
StringBuilder是char[]的包装器,并且完全按照您的描述想要做,提供方法。它有一个构造函数,您可以将现有的String传递给。
标签: java arrays string character mutable