即时尝试从数组中替换字符串,但这不起作用
dna[i].replace('T', 'C');
Run Code Online (Sandbox Code Playgroud)
用这种方式工作?
"ATCTA".replace('T', 'C');
Run Code Online (Sandbox Code Playgroud)
为什么不使用数组,我怎么可以使用数组[]中的替换
现在我有其他问题,我想在原始字符串中使用各种替换,我怎么能这个?
String dna[] = {"ATCTA"};
int i = 0;
dna[i] = dna[i].replace('T', 'C');
System.out.println(dna[i]);
Run Code Online (Sandbox Code Playgroud)
这按预期工作.如果您遵循类似的模式,请仔细检查您的代码.
您可能已经预料到,dna[i].replace('T', 'C');会dna[i]直接更改单元格的内容.情况并非如此,String不会被更改,replace将返回一个新的String,其中char已被替换.有必要将replace操作结果分配给变量.
回答你的上一条评论:
字符串是不可变的 - 您无法更改String对象中的单个字符.字符串上的所有操作(substring,replace,'+',...)总是创建新的字符串.
进行多次替换的方法如下:
dna[i] = dna[i].replace('T', 'C').replace('A', 'S');
Run Code Online (Sandbox Code Playgroud)