在JAVA的背景下,interned strings的含义是什么? String类中的intern()方法是什么?我最近遇到了一个代码
"test" == "test" //output- true
输出的论据是字符串文字被实习。
答案 0 :(得分:1)
取自http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#intern%28%29
返回字符串对象的规范表示。
一个字符串池,最初是空的,由私有维护 class String。
当调用实习方法时,如果池已包含 字符串等于此字符串对象由equals(Object)确定 方法,然后返回池中的字符串。否则,这个 String对象被添加到池中以及对此String的引用 返回对象。
对于任何两个字符串s和t,s.intern()== t.intern() 当且仅当s.equals(t)为真时才为真。
如上所述,此方法可用于生成两个内容相同但分别创建的字符串,仅在字符串池中存储一次,因此==
运算符返回{{1 }}