java.lang.String类源码疑问

lbaxe 2013-03-14 04:02:24
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到底是在哪赋的值?什么时候赋的值呢?

求大侠解惑!!!
...全文
91 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
-迷糊- 2013-03-14
  • 打赏
  • 举报
回复
你传进去的字符串original是执行过构造函数之后的字符串 如果你传的是一个String对象,那么是在你传入String对象new的时候构造的(这样下去就递归了。。。) 如果你传的是"ABC",那么是JVM在常量池中构造的。
求知路漫漫 2013-03-14
  • 打赏
  • 举报
回复
String s = new String("string");
求知路漫漫 2013-03-14
  • 打赏
  • 举报
回复
public String(String original) { int size = original.count; 在写构造函数的时候你付的string值就是了
  • 打赏
  • 举报
回复
有如下构造函数。 public String(String original) { this.value = original.value; this.hash = original.hash; } 看下构造函数的作用。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧