小编lin*_*kin的帖子

字符串访谈

如果我有如下代码是否可行?

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变量的最终结果会改变不同对象或同一对象的结果.

java string

2
推荐指数
1
解决办法
544
查看次数

标签 统计

java ×1

string ×1