我有下面的代码,我写了这些代码来检查字符串是不可变的。字符串在java中是不可变的
我的代码是:
class Check
{
public static void main(String k[])
{
String a1="JohnPlayer";
a1.concat("America");//line no 6
String a2="America";//line no 7
a1=a1+a2;//line no 8
System.out.println("Value of a1="+a1);
}
}
无在线6,当我使用concat
,它只能打印 “JohnPlayer”, 而如果我串联A1和A2使用a1+a2
,它打印合并的值“JohnPlayerAmerica”。在这种情况下,我怎么能说String
是不可变的?
使用'System.identityHashCode()'每个物体上看到的值。每个对象都是唯一的。 'concat'返回一个“新”字符串 – TheLostMind
字符串_objects_是不可变的。字符串_references_不是。 –