Ich habe diese Methode, die Elemente aus einer Liste,Gibt dies eine leere Liste zurück?
List<LinkedList<Object>> list = new LinkedList<>();
, die zwei Elemente entfernt, gibt eine Liste, die Namen = queue.removePair() über eine Warteschlange gestellt wird, dann wird zu entfernen;
public List removePair() {
List<E> nList = new LinkedList<>();
if (list.isEmpty() == true) {
throw new InsufficientElementsException();
}
if (list.isEmpty() == false) {
Object temp;
for (int i = 0; i < list.size(); i++) {
temp = list.get(i).size();
if (temp.equals(2)) {
nList.add((E) list.get(i));
list.remove(i);
}
}
return nList;
}
return nList;
}
Ich glaube das nicht, weil nicht funktioniert, wenn ich die NList zurückkehren, nur ist das einzige, in der ersten Zeile erklärt Rückkehr? Wie behebe ich das?
Haben Sie versucht, es zu debuggen? – JohannisK
Wenn ich mich nicht irre, wird '(temp.equals (2))' immer fehlschlagen, weil 'temp' ein' Objekt' ist, und vergleicht daher die Speicherstellen wie in 'Object.equals' definiert. Versuchen Sie, 'temp' und' Integer' zu machen. – Zircon
@Zircon: 'List.size()' gibt 'int' zurück und daher eine Zuweisung zu' Object' führt die Autobox-Umwandlung zu 'Integer' automatisch durch. Jedoch sollte "temp" an erster Stelle als "int" deklariert sein ... – fabian