Chcę odrzucić dwie listy: Pierwsza to lista liczb całkowitych. Deklaruję to jako:Dlaczego jest różnica w deklaracji ogólnych list?
List<Integer> ints= Arrays.asList(1,2,3);
Działa dobrze.
Druga to lista obiektów. Deklaruję to jako:
List<Object> objs= Arrays.asList(1,2.13,"three");
Ale daje błąd w czasie zaćmienia, gdy tylko go napiszę. Błąd jest:
Multiple markers at this line
- Type mismatch: cannot convert from List<Object&Comparable<?>&Serializable> to
List<Object>
- Type safety: A generic array of Object&Comparable<?>&Serializable is created for
a varargs parameter
Zamiast jeśli piszę
List<Object> objs = Arrays.<Object>asList(1,2.13,"three");
To działa dobrze.
Nie jestem w stanie ustalić przyczyny.
Mam to. Dzięki za wyjątkowo dobre wyjaśnienie. Będzie to złota zasada stosowana w przypadku takich pomyłek. –