关于Vector的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 13:43:16
String[] str11={"","3".""};
String[] str22={"d","",""};
Vector vec2 = new Vector();
vec2.add(str11);
vec2.add(str22);
System.out.println(vec2);
打出来的是
[[Ljava.lang.String;@6b97fd, [Ljava.lang.String;@1c78e57]
什么原因啊
----------------------------------------------------
若是
Vector vec1 = new Vector();
vec1.add("");
vec1.add("q");
vec1.add("");
vec1.add("w");
vec1.add("");
System.out.println(vec1);
则打印正确
--------------------------------------
是数组不能自动+吗?还是什么
那能有什么办法可以打出数组吗

import java.util.Iterator;
import java.util.Vector;

/**
* @author Administrator
*
*/
public class VectorTest {
public static void main(String[] args) {
Vector vector = new Vector();
String str[] = {"1","2","3"};
String str2[] = {"4","5","6"};
vector.add(str);
vector.add(str2);

Iterator iterator = vector.iterator();
while(iterator.hasNext()){
String[] str3 = (String[])iterator.next();
for (int i = 0; i < str3.length; i++) {
System.out.println(str3[i]);
}
}
}
}

一楼说的对,你vec2中存放的是两个String数组。必须通过迭代的方式把元素取出。
否则打印出来的是数组的内存地址。

你打出来的是数组的地址吧