str.setCharAt(指数, 'X')

evi*_*iko 7 java

有没有办法使用str.charAt(index)来替换索引的特定char?像这样的东西:

str.setCharAt(1,'X'); // replace 2nd char with 'X'
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法呢?

小智 9

根据str你的来源,你可能会做这样的事情:

StringBuilder str = new StringBuilder("Test string");
str.setCharAt(1, 'X');
str.toString();
Run Code Online (Sandbox Code Playgroud)

如果你有一个拼接在一起并修改了很多的字符串,那么使用StringBuilder一个字符串代替字符串会更有意义.但是,如果String要从另一个方法调用修改a ,则其他答案可能更合适.

  • @evilReiko字符串是不可变的.即一旦创建它就无法改变.当它无意改变时,它的使用效率非常高,但是如果你需要改变它的内容,你需要使用StringBuilder或它的Threadsafe堂兄StringBuffer.如果您不在多线程环境中工作(或者您的StringBuilder实例只能从一个线程访问),则StringBuilder通常就足够了. (3认同)