Perché quando uso questo codice,Java matrice primitiva List.contains non funziona correttamente
int[] array = new int[3];
array[0] = 0;
array[1] = 1;
array[2] = 2;
System.out.println(Arrays.asList(array).contains(1));
emette falso. Ma quando uso questo codice,
Integer[] array = new Integer[3];
array[0] = 0;
array[1] = 1;
array[2] = 2;
System.out.println(Arrays.asList(array).contains(1));
emette vero?
Funziona come progettato e pubblicizzato da JLS. Solo perché non funziona come te * previsto * non significa che sia errato. Tienilo a mente quando scegli un titolo di domanda; se applichi la logica semplice: sto imparando una lingua che esiste da decenni e qualcosa non è come * I * si aspetta, è più probabile che la lingua sia sbagliata o è più probabile che io non capisca la lingua ancora? – Durandal