Hallo,
ich habe ein Programmfragment was ich mir nicht erklären kann.
Warum bekomme ich wenn ich die Methode "addNumbers(li2);" aufrufe ein "UnsupportedOperationException"?
Rufe ich dagegen die Methode mit "addNumbers(li1);" auf, läuft es wie erwartet.
Gruß und Dank im Voraus für jeden Tipp.
enero99
ich habe ein Programmfragment was ich mir nicht erklären kann.
Warum bekomme ich wenn ich die Methode "addNumbers(li2);" aufrufe ein "UnsupportedOperationException"?
Rufe ich dagegen die Methode mit "addNumbers(li1);" auf, läuft es wie erwartet.
Gruß und Dank im Voraus für jeden Tipp.
enero99
Java:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Gen4 {
public static void main(String[] args) {
List<Integer> li1 = new ArrayList<>();
li1.add(1);
li1.add(2);
li1.add(3);
List<Integer> li2 = Arrays.asList(1,2,3);
addNumbers(li1); // klappt wie gewünscht
System.out.println(li1);
addNumbers(li2); // UnsupportedOperationException <<< Error
System.out.println(li2);
}
public static void addNumbers(List<? super Integer> list) {
for (int i = 4; i <= 9; i++) {
list.add(i);
}
}
}
Zuletzt bearbeitet von einem Moderator: