String s = new String(“abc”); 可能产生几个对象?

 String s = new String(“abc”); 可能产生几个对象?

答:可能产生1和或者2个对象。

通过new String()方法产生的字符串,先会在常量池去查询有木有abc的对象,如果没有,则会在常量池里开辟一个空间,存放abc,紧接着,将拷贝此对象到堆中产生一个对象。

如果有,则堆中直接创建一个常量池中此 ”abc” 对象的拷贝对象。

posted @ 2019-02-15 22:25  余总出去浪  阅读(612)  评论(0编辑  收藏  举报