[英]Java ArrayLists
我正在嘗試運行用Java創建的程序,但是我不知道發生了什么,它給了我以下錯誤:
Exception in thread "main" java.lang.ClassCastException:
java.lang.String cannot be cast to java.util.ArrayList
這是代碼:
public static ArrayList connections(ArrayList list3) {
ArrayList connections = new ArrayList();
int row1 = 1;
int row2 = 0;
int col = 0;
connections.add(new ArrayList());
((ArrayList)connections.get(0)).add(0);
((ArrayList)connections.get(0)).add(1);
System.out.print(((ArrayList)connections.get(0)).get(0));
while(row1 < list3.size()) {
if(((ArrayList)list3.get(row1)).get(col).equals(((ArrayList)connections.get(row2)).get(col))){
connections.add(((ArrayList)list3.get(row1)).get(1));
row1++;
}
else {
connections.add(new ArrayList());
connections.add(((ArrayList)list3.get(row1)).get(0));
row2 = row1;
row1++;
}
}
return connections;
}
錯誤似乎在if語句中。 有人可以幫我嗎?
if(((ArrayList)list3.get(row1)).get(col).equals(((ArrayList)connections.get(row2)).get(col))){
應該讀
if(((ArrayList)list3.get(row1)).get(col).equals(( ((ArrayList)connections).get(row2)).get(col))){
您正在轉換connections.get(row2),而不是首先轉換連接,然后在arraylist上進行獲取。
編輯-您絕對應該重構代碼以使用Java 1.5功能(即泛型)。 如果這不是一種選擇,則應重構代碼以使其更具可讀性-例如:您的方法稱為“ connections”,然后將變量稱為“ connections”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.