使用StringBuilder而不是String
之间有什么区别(优点,缺点)StringBuilder text = new StringBuilder();
String cadena = "";
Scanner scanner = new Scanner(new FileInputStream(fFileName), fEncoding);
try {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
text.append(line);
cadena += line;
}
} finally {
scanner.close();
}
答案 0 :(得分:3)
它更快,但不是线程安全的。
您可以通过三种方式构建字符串。
其他一些区别:
String:字符串不变;它们的值在创建后无法更改。字符串缓冲区支持可变字符串。使用+
运算符连接字符串不会修改所涉及的字符串,它会创建一个新的字符串,它是您要连接的字符串的组合。
StringBuffer:一个线程安全,可变的字符序列。字符串缓冲区就像一个String,但可以修改。
StringBuilder:一个可变的字符序列。此类提供与StringBuffer兼容的API,但不保证同步。