读书人

初学者提问:数组是对象么

发布时间: 2012-02-27 10:00:22 作者: rapoo

菜鸟提问:数组是对象么?
//
int iArrayUpperBound
String sArrayTest = { "1 ", "2 ", "3 ", "4 "}

//
iArrayUpperBound = sArrayTest.length

--------------------
sArrayTest.length,可以看出来sArrayTest应该是一个对象,因为他有域 "length ",
我查看API java.lang.String,没有lengh这个域,看继承层次,是从java.lang.object继承来的,但是java.lang.object也没有域 "length ",我就晕了,sArrayTest 究竟是哪路神仙啊,请大家讲解一下,谢谢!


[解决办法]
就你本身的讨论而言 应该是这样的代码才对
int iArrayUpperBound;
String sArrayTest[] = { "1 ", "2 ", "3 ", "4 "};

//
iArrayUpperBound = sArrayTest.length;
System.out.println(iArrayUpperBound);
最后输出是4 ,这样的话 sArrayTest不是String 类型的 是数组类型的 sArrayTest当然是对象
[解决办法]
String sArrayTest[] = { "1 ", "2 ", "3 ", "4 "};


{ "1 ", "2 ", "3 ", "4 "};---------> 不是String,是String[]
[解决办法]
你的问题和我原来有个问题类似,可以去看看:

http://community.csdn.net/Expert/TopicView3.asp?id=5584610

这个 length 是在编译加上去的。

读书人网 >J2SE开发

热点推荐