De acuerdo con la documentation, List.contains
puede lanzar NullPointerException
en este escenario:¿Hay clases de recopilación JAVA nativas que extienden la lista que no permite elementos nulos?
"si el elemento especificado es nulo y esta lista no admite nulos elementos (opcional)."
Solo estaba tratando de pensar en una implementación de lista que no permita nulos, y no tengo conocimiento de ninguna. Por ejemplo, puedo tener ArrayList<Double>
, pero permite nulos.
List<Double> list = new ArrayList<Double>();
if (list.contains(null)) { // this won't throw NPE
}
Así es la documentación aquí en referencia a implementaciones personalizadas de esta interfaz, o hay algunas clases de colección nativos de Java que se extienden List
que no permiten elementos nulos? Me doy cuenta de que la excepción es opcional, solo estaba tratando de pensar en un caso del mundo real donde esto podría ocurrir.
Gracias por la respuesta y el ejemplo. Gracias a todos por sus respuestas también, fueron útiles, solo me gustó la forma en que esta respuesta explicó las cosas de manera sucinta. – dcp
Irónicamente, no lanza 'NullPointerException' sino' IllegalArgumentException'. Pero el punto sigue siendo: es un recordatorio de que no puedes simplemente asumir que null está permitido. – corsiKa