在下面的代码示例中将函数转换为使用StringBuilder会使其更有效并且值得吗?和
如何转换convertStringToInputString函数使用StringBuilder?StringBuilder没有替换方法。
// converts String to type of String that can be inserted into database, no space, no eof characters
public String convertStringToInputString(String standardString){
String str = standardString.replace(" ", "XspaceX");
String str2 = str.replace("n", "XendoflineX");
return str2;
}
// fills table with information to be put into JSON String object
public void fillTable(){
initialField.a[0] = convertStringToInputString("");
initialField.a[1] = convertStringToInputString("");
initialField.a[2] = convertStringToInputString("");
initialField.a[3] = convertStringToInputString("");
initialField.a[4] = convertStringToInputString("");
initialField.a[5] = convertStringToInputString("");
initialField.a[6] = convertStringToInputString("");
initialField.a[7] = convertStringToInputString("");
initialField.a[8] = convertStringToInputString("");
initialField.a[9] = convertStringToInputString("");
// continue with more 120 more lines like this
为什么不直接内联字符串操作呢?我认为它提高了可读性,避免了创建不必要的函数和对象。
initialField.a[0] = string.replace(" ","space").replace("n","newline");
可以使用
StringBuilder.replace(int start, int end, String str)
这里start -起始索引,包括起始索引。
end -结束索引,不包含。
str -将替换先前内容的字符串。
所以你可以使用StringBuilder。
我不明白你在做什么,但是你可以使用stringbuilder的append方法,像这样:
public String toString(whateverType initialField) {
StringBuilder sB = new StringBuilder();
for (int i = 0; i<initialField.length; i++) {
sB.append(initialField[i];
}
String str2 = sB.toString();
return str2;
}