String s = new String("xyz");创建了几个String Object?二者之间有什么区别?

此代码执行结束以后,创建了两个或者一个"xyz".
执行过程中它会先去字符串常量池中找有没有“xyz”,如果有,就根据产量池中的xyz在堆中创建一个xyz对象,否则他会先把xyz添加到字符常量池中,然后再去堆中创建xyz这个对象。区别就是二者所处的存储空间不同,导致管理方式也不同。

猜你喜欢

转载自www.cnblogs.com/remta/p/12122297.html
今日推荐