如果我有如下代码是否可行?
String b = "abc";
String c = "def";
for (int i=0;i<100000000;i++){
String a = b + c; // i got a different object , ahhh!
}
Run Code Online (Sandbox Code Playgroud)
它如何影响系统?我们可以改进它吗?
不遵循字符串池的概念,因为我创建的字符串没有新的运算符我以1个对象结束,结果它创建了100000000个对象(我错了)但我没有unserstand如何(用==运算符检查))
例如
final String b = "abc";
final String c = "def";
for (int i=0;i<100000000;i++){
String a = b + c; //same object referred again and again
}
Run Code Online (Sandbox Code Playgroud)
给出相同的对象,我能够用==运算符检查
这不是示例遵循字符串池概念吗?为什么我的String变量的最终结果会改变不同对象或同一对象的结果.