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库从文件内