1. new产生的string在堆中,而不在字符串池(CONSTANT_String_info)中。
2. intern()去字符串池中查找是否存在该内容为指定字符串的string对象,如果有,则返回一个已有的引用,否则,在字符串池中创建新的引用,并返回该引用。
3. 采用new 创建的字符串对象不进入字符串池,字符串相加的时候,都是静态字符串的结果会添加到字符串池,如果其中含有变量不会进入字符串池中。但是字符串一旦进入字符串池中,就会先查找池中有无此对象。如果有此对象,则让对象引用指向此对象。如果无此对象,则先创建此对象,再让对象引用指向此对象。
 
注意理解字符串池和堆中字符串的区别。
posted on 2014-04-09 10:04  王永选  阅读(289)  评论(0)    收藏  举报