黑马程序员技术交流社区
标题:
关于创建字符串对象的问题
[打印本页]
作者:
王连涛
时间:
2015-5-18 22:55
标题:
关于创建字符串对象的问题
String s = new String("abc");这个代码中一共创建了两个对象,我们可以从内存开始分析,首先在栈内存创建一个String s ,然后一new就在堆内存创建了一个String类型的对象即new String(),而这个对象是给出字符串常量“abc”的,这个常量需要到方法区的常量池去找,找到就赋给new String(),如果找不到就创建一个然后赋给new String(),然后常量池中的“abc”就把地址值赋给堆内存中的new String(),它就指向了方法区常量池的“abc”,然后new String()把它的地址值赋给s,s就指向了堆内存中的new String(),这样在这个过程中一共创建了2个对象。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2