首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-02-27 
菜鸟提问:数组是对象么?//intiArrayUpperBoundStringsArrayTest{ 1 , 2 , 3 , 4 }//iArrayUpperB

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

热点排行