由于字符串是不可变的,我正在尝试重新创建它。我需要替换其中一个字母。
for (int i = 0; i < mat.length(); i++){
//there's more stuff here, but that'd require a lot more explaining
//the following don't occur at every iteration
//mat and s are always the same length though
if (i == s.length())
mat = mat.substring(0, i) + s.charAt(i);
else
mat = mat.substring(0, i) + s.charAt(i) + mat.substring(i + 1, mat.length());
}
基本上用相同索引处的 String s 的字母来改变 String mat 的字母。问题是如果它是最后一个索引,我会得到一个越界错误,所以我选择使用 if/else 来解决这个问题。
但是这两个条件都运行代码存在冗余:
mat = mat.substring(0, i) + s.charAt(i)
消除这种冗余的最佳方法是什么?谢谢!