如何将此函数转换为使用Stringbuilder,以及这样做是否值得



在下面的代码示例中将函数转换为使用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。

使用indexOf方法查找索引,然后使用上述方法替换索引。

我不明白你在做什么,但是你可以使用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;
}

相关内容

最新更新