黑马程序员技术交流社区

标题: 《成都校区》111111121 [打印本页]

作者: 帆帆帆    时间: 2018-5-2 12:38
标题: 《成都校区》111111121
String初始化过程:
这里我认为主要分为两种:
1.调用构造 String str = new String();;
2.不调用构造 String str = "";
两种情况都有一个关键点在与:private final char value[]; 这个value的初始化过程。


情况一:String str1 = "abc";
情况二:String str2 = new String (str1);
通过这两种情况来看,首先会在方法区里面创建一个值为"abc"的字符串并分配地址值。根据API所提供的介绍看,这里会调用构造

这里的this.value数组别final所修,采用的是构造初始化。
而第二种情况相当与先调用了

然后再由 String original 也就是这里的str1去完成value的初始化,然后再把str2.value指向str1.value
这样的情况我觉得可以等效于String str3 = new String("abc");这里就找到了private final char value[]初始化的源头,也就是我猜想的String初始化的过程,燃鹅并没有什么卵用。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2