Ich habe eine Funktion namens resolveClash, die ich ein Array senden (in diesem Fall - combinsFinal) mit 2 oder mehr Objekte in ihm vom Typ ModuleLecturerStudentCombination (das ist meine eigene Klasse). Im Wesentlichen ist die resizeClash-Funktion das Array in eine Arraylist, entfernt das erste Element/Objekt im Array und gibt dann die Liste zurück. Wenn ich jedoch den Status des zurückgegebenen Werts im Debugmodus (Eclipse) inspiziere, zeigt es, dass ein Nullwert am Ende der Arraylist hinzugefügt wurde.Entfernen von Objekt aus Arraylist verlässt null
Ich habe nachgeschlagen "Objekte richtig entfernen" usw., aber alles, was ich bisher versucht habe, wird nicht von der Null los. Die Null erscheint nach dem Entfernen. Ich habe gründlich überprüft, dass keine Null in usw. übergeben wird. Dies ist ein Problem, denn wenn ich dies benutze und später durch iteriere, nimmt es eine Null auf und gibt mir einen Null-Null-Fehler. Könnte mich jemand bitte wissen lassen, was ich falsch mache, oder mir in die richtige Richtung weisen?
Vielen Dank im Voraus!
resolveClash(combinsFinal);
public ArrayList <ModuleLecturerStudentCombination> resolveClash(ModuleLecturerStudentCombination[] combinationArr){
ArrayList<ModuleLecturerStudentCombination> copyCombinationList = new ArrayList<ModuleLecturerStudentCombination>(Arrays.asList(combinationArr));
copyCombinationList.remove(0);
return copyCombinationList;
}
Verwenden Sie Eclipse oder ähnliches und betrachten Sie das Ergebnis in der Debug-Perspektive? –
'return new ArrayList <> (Arrays.asList (combinationArr) .subList (1, combinationArr.length()));' wäre einfacher. –
Woher weißt du ***, dass die zurückgegebene 'ArrayList' ein' null' enthält? Woher wissen Sie, dass der Nullwert nicht bereits in dem Array enthalten war, das Sie an die Methode übergeben haben? Im Debug-Modus sehen Sie Implementierungsdetails der 'ArrayList', einschließlich der Einträge im Backing-Array, die NICHT Teil des Listenwerts sind. –