日期:2014-05-20  浏览次数:20588 次

java.lang.String类源码疑问
java源代码String类中的构造函数有一个这样的:
public String(String original) {
 int size = original.count;
 char[] originalValue = original.value;
 char[] v;
这只是开头的一小段,count在String类中是这样定义的(是在这个类的开头定义的):
private final int count;没有初始化

按照“对象调用成员变量”的逻辑,original.count没有初始化值应该是0吧,但我断点调试确是original.length的值;
那original.count到底是在哪赋的值?什么时候赋的值呢?

求大侠解惑!!!
java string

------解决方案--------------------
你传进去的字符串original是执行过构造函数之后的字符串

如果你传的是一个String对象,那么是在你传入String对象new的时候构造的(这样下去就递归了。。。)

如果你传的是"ABC",那么是JVM在常量池中构造的。