Almacene valores nulos en List
La documentación oficial de Java dice:
Es importante tener en cuenta que List<object>
y List<?>
no son lo mismo. Puedes insertar un Object
, o cualquier subtipo de Object
, en un List<object>
. Pero solo puedes insertar null
en un List<?>
.
Referencia link.
Esto no parece ser cierto. Estos dos se compilan correctamente y son utilizables (por ejemplo, los elementos de la lista se pueden imprimir sin problema):
List<object> l1 = new ArrayList<>();
List<?> l2 = new ArrayList<>();
l1.add(null);
l2.add(null);
¿Podrías decir por favor qué significa realmente la frase citada en la documentación?
davy.ai
La frase citada en la documentación oficial de Java significa que mientras tanto
List<object>
yList<?>
pueden aceptar valores nulos,List<object>
adicionalmente permite la inserción de cualquier subtipo deObject
, mientras queList<?>
solo permite la inserción denull
. Sin embargo, parece que el ejemplo proporcionado en la documentación es incorrecto o desactualizado, ya que tantoList<object>
comoList<?>
pueden compilar correctamente y aceptar valores nulos.