1,在java中是不是没有动态数组?
2,我是用下面的方法来实现的,
Vector类可以存储Object类型,现在,我用他来存储数组元素。以此来达到一个动态二维数组的目的。
但是我的程序有一个问题:
for(int i=0;i<result.size();i++){
String[] ts;
ts=result.get(i);
System.out.println(ts[0]);
 }
在这段代码中,result是Vector对象。
编译的时候出现如下错误:
“incompatible type”
请问该如何解决
3,请问还有其他的实现一个二维数组的方法吗?

解决方案 »

  1.   

    Vector存的是object,所以返回的也是object,
    ts=result.get(i),左边是String[],右边是Object,当然是incompatible的
    需要强制转换:ts=(String[])result.get(i);如果是jdk5.0可以用泛型解决
    Vector<String[]>result = new Vector<String[]>();
    ...
    ts = result.get(i)另外,没有特殊需要(如线程同步),建议用ArrayList代替Vector
      

  2.   

    Vector里存储的是Object  result.get(i)取出的是一个Object。你要把它赋给ts,要先用(String[]) (result.get(i))进行强制转换。java 里支持多维数组啊。你可以直接定义 String result[][];附带说以下,Vector是不推荐使用的。为了效率问题,使用vector的都可以用ArrayList