java中list读取问题

sunneyyu 2007-07-18 08:43:27
大家好!我现在遇到一个问题,就是在list表里边存储了list,读取的时候出现问题了,我现在把我的代码贴上来,再把问题列出来,请大家帮忙解决一下。谢谢了。
import java.io.*;
import java.util.*;

class data{
public List mlist=new ArrayList();
//public String ms="sasgsda";
public data(List list){
this.mlist=list;
//this.ms=s;
/*for(int i=0;i<3;i++){
list.add(i);
}*/

}

}
public class test {


public static void main(String [] args){
List list=new ArrayList();
List list2=new ArrayList();
data mdata=new data(list);
List llist=new ArrayList();
for(int i=0;i<3;i++){
//List list=new ArrayList();
list.add(i);
}
for(int j=0;j<3;j++){
list2.add(j+4);
}

llist.add(list);
llist.add(list2);
//llist.add(new data(list,"sagsad"));
llist.add(mdata.mlist);
//llist.add(mdata.mlist+mdata.ms);
Iterator it=list.iterator();
while(it.hasNext()){
String ss=it.next().toString();
System.out.println(ss);
}
System.out.println(llist);
System.out.println("-------------------------");
Iterator iter=llist.iterator();
for(int i=0;i<llist.size();i++){
Iterator itermlist=((List)llist.get(i)).iterator();
while(itermlist.hasNext()){
String s=itermlist.next().toString();
System.out.println(s);
}
}
}
}
如果这样的话是一点问题都没有,可以读取list列表中list的值,但是如果外部的list存储了一个list+字符串的类对象,编译就会报转型错误的错。
代码如下:
import java.io.*;
import java.util.*;

class data{
public List mlist=new ArrayList();
public String ms="";
public data(List list,String s){
this.mlist=list;
this.ms=s;
/*for(int i=0;i<3;i++){
list.add(i);
}*/

}

}
public class test {


public static void main(String [] args){
List list=new ArrayList();
List list2=new ArrayList();
data mdata=new data(list,"sasgsd");
List llist=new ArrayList();
for(int i=0;i<3;i++){
//List list=new ArrayList();
list.add(i);
}
for(int j=0;j<3;j++){
list2.add(j+4);
}

llist.add(list);
llist.add(list2);
//llist.add(new data(list,"sagsad"));
//llist.add(mdata.mlist);
llist.add(mdata.mlist+mdata.ms);
Iterator it=list.iterator();
while(it.hasNext()){
String ss=it.next().toString();
System.out.println(ss);
}
System.out.println(llist);
System.out.println("-------------------------");
Iterator iter=llist.iterator();
for(int i=0;i<llist.size();i++){
Iterator itermlist=((List)llist.get(i)).iterator();
while(itermlist.hasNext()){
String s=itermlist.next().toString();
System.out.println(s);
}
}
}
}

请问如果我想达到下面的这个目的,该程序该怎么改呢?谢谢!!
...全文
706 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ldxfsh 2007-07-21
  • 打赏
  • 举报
回复
可以再定义一个List list3来存mdata.ms,然后用llist.add(list3);这样就不会出现错误了.import java.io.*;
import java.util.*;

class data{
public List mlist=new ArrayList();
public String ms="";
public data(List list,String s){
this.mlist=list;
this.ms=s;
/*for(int i=0;i<3;i++){
list.add(i);
}*/

}

}
public class test {


public static void main(String [] args){
List list=new ArrayList();
List list2=new ArrayList();
List list3=new ArrayList();
data mdata=new data(list,"sasgsd");
List llist=new ArrayList();
for(int i=0;i<3;i++){
//List list=new ArrayList();
list.add(i);
}
for(int j=0;j<3;j++){
list2.add(j+4);
}

llist.add(list);
llist.add(list2);
//llist.add(new data(list,"sagsad"));
//llist.add(mdata.mlist);
llist.add(mdata.mlist);
list3.add(mdata.ms);
llist.add(list3);
Iterator it=list.iterator();
while(it.hasNext()){
String ss=it.next().toString();
System.out.println(ss);
}
System.out.println(llist);
System.out.println("-------------------------");
Iterator iter=llist.iterator();
for(int i=0;i<llist.size();i++){
Iterator itermlist=((List)llist.get(i)).iterator();
while(itermlist.hasNext()){
String s=itermlist.next().toString();
System.out.println(s);
}
}
}
}
奋斗并快乐着 2007-07-19
  • 打赏
  • 举报
回复
list中存了一个有list和字符串的对象
-------------
这个没什么问题
出什么错误了?
sunneyyu 2007-07-19
  • 打赏
  • 举报
回复
可以,因为我在上边已经定义了一个List对象.上面的代码没问题.主要是下面的代码list中存了一个有list和字符串的对象,那个读不过去.
奋斗并快乐着 2007-07-18
  • 打赏
  • 举报
回复
for(int i=0;i<3;i++){
//List list=new ArrayList();
list.add(i);
}
---------------------------------------------
这个编译能过去吗?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧