关于s1.intern()方法,这样理解对不对。

关于s1.intern()方法,这样理解对不对。

     s1.intern()方法,在jdk6,如果串池(StringTbale)不存在这个对象,则copy一个副本入池,最后返回的是副本对象;在jdk8,如果串池没有这个对象,则其身入池,最后无论是返回的对象还是自身,都是指向串池了的了。

如果字符串常量池中有这个字符串,那么返回字符串常量池的地址,如果没有,创建一个对象,放入到字符串常量池中,返回这个对象的地址。