树袋熊|初级程序员必懂jdk1.6和1.8版本中关于String类面试官关心的问题( 二 )
System.out.println(s5==s4);//这个执行结果就是:true使用intern()主动将串池中没有的字符串放入串池Stringstr1=newString("s")+newString("tr");//jdk1.8环境下str1.intern();把上面这行代码拆分可以获得:字符串"s"和"tr"会添加到串池 , newString("s")和newString("tr")会存入堆中 , str1的执行结果:"+"在上面已经解释过了其实就是Stringbuilder.append().toString() , 最终得到一个存在堆中的String对象 。
jdk1.8的str1.intern();尝试将字符串对象放入串池中 , 如果串池中没有就会放入 , 如果串池中存在则不会放入 , 并且会返回串池中的对象 。
jdk1.6的str1.intern();尝试将字符串对象放入串池中 , 如果串池中没有就会复制一份此对象 , 并把复制后的对象放入串池中 , 如果串池中存在则不会放入 , 并且会返回串池中的对象 。
看到这里是不是完全明白了关于String对象的各种面试问题了 , 赶紧尝试着再去回答一下开始的问题吧!
推荐阅读
- 程序员|强力支持!国家再出重拳,这是要彻底解决华为芯片危机
- 程序员|37岁程序员裸辞,四个月被497家公司拒绝,问猎头后懵了
- Java|面试三年经验的程序员,感觉简历在造假!连个简单的题目都不会
- 游龙战神|-启动流程,好程序员Java培训分享SpringBoot
- 程序员|漫画:程序员的宿命,真实的反映了我现在的状况。何时是个头?
- 程序员|那些还在外包公司干的程序员们,快醒醒吧
- 树袋熊|雷布斯「聚贤庄」招兵买马决战5G,小米「复仇者联盟」再添虎将
- 程序员|程序员如此坎坷的一生,为何还坚持做程序员?真的是不甘落后吗?
- 程序员|程序员遭辞退后,却被前领导命令回去讲代码,如果是你你会怎么做?
- 程序员|手环耳机二合一 华为B6上手体验