builder.replace(i,i+1,"\\t");???? 问题???

public static String characterString(CharacterData node){
StringBuilder builder = new StringBuilder(node.getData());
for(int i = 0; i < builder.length(); i++){
if(builder.charAt(i) == '\r'){
builder.replace(i,i+1,"\r");
i++;
}

        else if(builder.charAt(i) == '\n'){
            builder.replace(i,i+1,"\\n");
            i++;
        }

        else if(builder.charAt(i) == '\t'){
            builder.replace(i,i+1,"\\t");
            i++;
        }
    }

    if(node instanceof CDATASection) builder.insert(0,"CDATASection:");
    else if(node instanceof Text) builder.insert(0,"Text:");
    else if(node instanceof Comment) builder.insert(0,"Comment:");

    return builder.toString();
}

if(builder.charAt(i) == '\r'){
builder.replace(i,i+1,"\r");
i++;
}
replace 这个函数怎么解释,在这个应用中,谢谢,

replace
public StringBuilder replace(int start,
int end,
String str)使用给定 String 中的字符替换此序列的子字符串中的字符。该子字符串从指定的 start 处开始,一直到索引 end - 1 处的字符,如果不存在这种字符,则一直到序列尾部。先将子字符串中的字符移除,然后将指定的 String 插入 start。(如果需要,序列将延长,以适应指定的字符串。)

参数:
start - 起始索引(包含)。
end - 结束索引(不包含)。
str - 将替换原有内容的字符串。

转换特殊字符