java 链表 传递_java 链表 传递过程中的问题
具体情况如下一共有三个类,分别是主类main,从TXT文件中读取入链表的类read,还有一个是对链表内容进行查询的类inquiryread读取并没有问题,read中有加入检测M.List.add(A);M.List.g...
具体情况如下
一共有三个类,分别是主类main,从TXT文件中读取入链表的类read,还有一个是对链表内容进行查询的类inquiry
read读取并没有问题,read中有加入检测
M.List.add(A);
M.List.get(i).getInformation();
能够显示链表中的信息(M是对主类创建的对象,i是一个计数变量)
链表定义如下是在主类中定义的
public List List = new ArrayList();
但是到了inquiry类中的时候
System.out.println("测试链表数据"+M.List.get(i).getInformation());
System.out.println("链表大小:"+M.List.size());
循环3次,显示出来的数据都是一样的,并且都是read中最后读取的数据。
而主类中的链表定义不加上static修饰,read中读取正常之后,无论是主类还是查询类中,链表大小都为0。个人猜测是因为主类链表不是传引用,所以read中修改,其它地方还是一样。
由于是java新手一个,所以不清楚原因以及解决方法,求助,谢谢。
PS:程序能运行,只是加上static之后,会在M.这个地方出现警告。
public void ReadFromFile() {
int i = 0;
int FileName = 1;
File filePath = new File("H:\\"+ FileName + ".txt");
BufferedReader br;
String s = null;
AirLineInformation A = new AirLineInformation();
br = new BufferedReader(new FileReader(filePath));
while ((s = br.readLine()) != null)
{
String s_split[] = s.split(" ");
A.terminal = s_split[0];
A.lineID = s_split[1];
A.planeID = s_split[2];
A.week = s_split[3];
A.date = s_split[4];
A.passengerNumber = Integer.parseInt(s_split[5]);
A.ticketLeft = Integer.parseInt(s_split[6]);
A.fileID = Integer.parseInt(s_split[7]);
AirLineList.add(A);
AirLineList.get(i).getInformation();
i++;
}
} }
调试发现是读取的时候就有问题,读入第二组数据的时候,链表[0]的数据也会被第二组数据覆盖,才会出现上面的问题,求解。
以及补充和问题本身变量名有出入是因为问题里面有进行删减
展开
总结
以上是生活随笔为你收集整理的java 链表 传递_java 链表 传递过程中的问题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: java迭代器的原理_小学生之Java中
- 下一篇: 文件内容查找java,java库从文件内