在下面的代码示例中将函数转换为使用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
答案 0 :(得分:1)
为什么不直接内联你的字符串操作?我认为它提高了可读性并避免了创建不必要的功能和对象。
initialField.a[0] = string.replace(" ","space").replace("\n","newline");
答案 1 :(得分:0)
我不明白你在做什么,但你可以像这样使用stringbuilder的追加方法:
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;
}
答案 2 :(得分:0)
你可以使用
StringBuilder.replace(int start, int end, String str)
这里
start - 开头索引,包括在内。
end - 结束索引,独占。
str - 将替换先前内容的字符串。
因此您可以使用StringBuilder.indexOf方法查找索引,然后使用上述方法替换它。