public static void main(String[] args)
{
String literalstr = "ABC";
String literalstr2 = "ABC";
String str = new String("ABC");
String str2 = new String("ABC");
if (literalstr == literalstr2)
{
System.out.println("Literal String... I use String Pooling");
}
if (str != str2)
{
System.out.println("Object String... I dont use String Pooling");
}
if (str.intern() == str2.intern())
{
System.out.println("Interning ... I use String Pooling");
}
// System.out.println(ric2);
}
实习生()的目的是什么?
答案 0 :(得分:1)
请阅读Java文档,它会告诉您:
返回字符串对象的规范表示。
字符串池(最初为空)由String类私有维护。
当调用intern方法时,如果池已经包含一个等于此String对象的字符串(由equals(Object)方法确定),则返回池中的字符串。否则,将此String对象添加到池中,并返回对此String对象的引用。
接下来,对于任何两个字符串s和t,当且仅当s.equals(t)为真时,s.intern()== t.intern()才为真。
所有文字字符串和字符串值常量表达式都是实体。字符串文字在Java语言规范的§3.10.5中定义