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

菜鸟提问:数组是对象么?
//
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 是在编译加上去的。