在声明String s =“Sachin”+“Tendulkar”中创建了多少个String对象; ?这是我的面试问题
答案 0 :(得分:1)
how many String objects are created in the above declaration?
This is my interview question
“Sachin” - >字符串文字
“Tendulkar” - >字符串文字
只有一个String s
是通过连接两个文字
答案 1 :(得分:1)
Strings computed by constant expressions are computed at compile time and then
treated as if they were literals.
规格:here
String s="Sachin"+" Tendulkar";
因此,如果您指定了,则只会创建一个字符串文字(在编译时本身创建),那就是"SachinTendulkar"
。因此String池中只有一个interned String。
如果您尝试连接单独的显式文字,那么只有您在字符串池中有单独的实例对象。例如
String s1 = "Sachin";
String s2 = "Tendulkar";
String s3 = s1 + s2;
在上面的例子中,你将在字符串池中有3个不同的实体对象。
答案 2 :(得分:1)
String s=“Sachin”+“ Tendulkar”;
只有一个