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到底是在哪赋的值?什么时候赋的值呢?求大侠解惑!!!javastring

解决方案 »

  1.   

    有如下构造函数。
    public String(String original) {
            this.value = original.value;
            this.hash = original.hash;
        }看下构造函数的作用。
      

  2.   

    public String(String original) {
     int size = original.count;
    在写构造函数的时候你付的string值就是了
      

  3.   

    String s = new String("string");
      

  4.   

    你传进去的字符串original是执行过构造函数之后的字符串如果你传的是一个String对象,那么是在你传入String对象new的时候构造的(这样下去就递归了)如果你传的是"ABC",那么是JVM在常量池中构造的。