字符串连接需要多少个存储位置?
String myStringVariable = "Hello";
在以下两个语句中:
String s = "ABC" + "Hello" + "DEF";
和
String s = "ABC";
s = s + "Hello";
s = s + "DEF";
和
String s = "ABC" + myStringVariable + "DEF";
哪个会消耗更多的内存?在哪种情况下,StringBuilder最有用?
最佳答案
第一条语句将由编译器转换为String s = "ABCDEF";
,因此不会出现任何混淆
第二条语句将由编译器转换为此代码(或类似的代码)
String s = "ABC";
StringBuilder sb = new StringBuilder(s);
sb.append("DEF");
s = sb.toString();