我真的需要一些帮助。我有一个有4列4行的List。我做了这样的事情:
if(list.size()!=0){
Iterator it = list.iterator();
while(it.hasNext()){
System.out.println(it.next().toString());
}
}
我也试过这个:
for(int i=0; i<list.size(); i++) {
System.out.println(list.get(i));
}
但两者都有相同的结果:
[Ljava.lang.Object;@58e6b9bc
[Ljava.lang.Object;@13ac133d
[Ljava.lang.Object;@62313e2
[Ljava.lang.Object;@68ee5d93
我对一维列表没有问题但是多维我真的很头疼。请帮忙。
答案 0 :(得分:3)
好像你的列表包含Object Array作为元素。
[Ljava.lang.Object;@58e6b9bc
这意味着您要打印的对象是数组。要获得列表的完整内容,您还必须迭代此对象数组(列表的每个元素)。试试这个:
for(int i=0; i<list.size(); i++) {
Object[] objArr = (Object[]) list.get(i);
for(Object obj: objArr){
System.out.println(obj);
}
}
答案 1 :(得分:2)
我认为你的List包含另一个列表的数组。你必须添加另一个循环。
for(Object []ar:list)
{
for(Object ele:ar)
{
System.out.println(ele);
}
}
答案 2 :(得分:1)
如果您的列表中有一个列表,那么它将以这种方式工作:
for (List<TypeOfYourObjectHere> element : list) {
for (Object subElement : element) {
System.out.println(subElement);
}
}
如果它是一个数组,那么:
for (TypeOfYourObjectHere[] element : list) {
for (Object subElement : element) {
System.out.println(subElement);
}
}
请注意,如果外部列表中没有可迭代对象,则必须考虑覆盖toString()
方法等其他方式。
如果你告诉我们你想要达到什么目的,那也会有所帮助。