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

高手来,"String s[]=new String[0];"有意义吗?再看.该如何解决

2011-12-27 
高手来,String s[]new String[0]有意义吗?再看......Strings[]newString[0] 有意义吗?难道表示分

高手来,"String s[]=new String[0];"有意义吗?再看......
"String   s[]=new   String[0]; "有意义吗?难道表示分配长度为0的String数组吗?

再看若listener定义为:Vector   listener=new   Vector(),Characterlistener是自定义的观察者.

CharacterListener[]   cl=(CharacterListener[])listener.toArray(new   CharacterListener[0]);

谁能告诉我上面的语句做了什么,最重要的是其中的 "new   Characterlistener[0] "有意义吗?这表示分配了一个长度为0的Characterlistener数组吗???上面语句意义何在?


[解决办法]
String[] s=new String[0] 的确没有什么意思,就是将s引向一个长度为0的String类型数组

CharacterListener[] cl=(CharacterListener[])listener.toArray(new CharacterListener[0]);
1,声明一个CharacterListener数组类型c1
2,将listener转化为一个长度为0的CharacterListener数组,并把这个数组强制类型转化为CharacterListener
3,把这个数组引用给c1
[解决办法]
it makes no sense! do you understand?
[解决办法]
Vector 是个变长的数组
new CharacterListener[0]
目的就是使之转换成一个固定长度的数组
[解决办法]
CharacterListener[] cl=(CharacterListener[])listener.toArray()
如果是这样
则可能报错
[解决办法]
String[] str = (String[]) result.toArray(new String[1]);即告诉Vector,我要得到的数组的类型。

java中的强制类型转换只是针对单个对象的,想要偷懒,将整个数组转换成另外一种类型的数组是不行的。

热点排行
Bad Request.