我有一個函數叫resolveClash,我發送一個數組 (在這種情況下 - combinsFinal)與其中的ModuleLecturerStudentCombination(這是我自己的類)的2個或更多的對象。基本上,resolveClash函數所做的是將數組放入數組列表中,刪除數組中的第一個元素/對象,然後返回列表。但是,當我在調試模式(eclipse)中檢查返回值的狀態時,它顯示null列表已添加到數組列表的末尾。從arraylist葉刪除對象null
我已經查找「正確移除對象」等,但是,迄今爲止我嘗試過的所有東西都沒有擺脫null。我執行刪除後出現null。我徹底檢查了沒有傳入null等。這是一個問題,因爲當我使用它並在以後遍歷它時,它將拾取null並給我一個nullpointerexception錯誤。有人能讓我知道我做錯了什麼,或者指向正確的方向嗎?
提前致謝!
resolveClash(combinsFinal);
public ArrayList <ModuleLecturerStudentCombination> resolveClash(ModuleLecturerStudentCombination[] combinationArr){
ArrayList<ModuleLecturerStudentCombination> copyCombinationList = new ArrayList<ModuleLecturerStudentCombination>(Arrays.asList(combinationArr));
copyCombinationList.remove(0);
return copyCombinationList;
}
您是否正在使用eclipse或類似工具並查看Debug透視圖中的結果? –
'返回新的ArrayList <>(Arrays.asList(combinationArr).subList(1,combinationArr.length()));'會更容易。 –
你如何知道***返回的'ArrayList'包含'null'?你怎麼知道null傳遞給該方法的數組中還沒有?在調試模式下,您將看到'ArrayList'的實現細節,包括支持數組中不屬於列表值的條目。 –