¿Cómo puede un HashSet grabar una entrada nula sin una NullPointerException al calcular el código hash?

Sé todos esos extrañosrazones filosóficas por quénulo las instancias están permitidas en cada colección

Pero a diferencia de las listas, los elementos de posición de conjuntos (incluso mapas, también) dependen decódigo hash del elemento que se agrega de ese modo en el elemento en sí (salvo excepciones comoLinkedHashSet donde se conserva el orden de inserción)

Entonces, al calcular el código hash del elemento que se agrega a la colección y si se presume que ese elemento esnulo no debería tirarNPE ?

null.hashCode()

¿Tiene algún tipo decomprobación nula

Primero penséSystem.out.println (setReference) también debería generarNPE si hay unnulo, pero después de bastante investigación descubrí que el método real que se llama es estáticovalueOf (Objeto obj) más bien queEncadenar() método que es nulo a salvo de lo que se indica en los documentos de Java, finalmente he podido aclarar mi mente al respecto ...

pero esto todavía me persigue, sé que estoy siendo un poco obsesivo con los pequeños detalles, pero tengo que hacerlo porque actualmente me estoy preparando para OCAJP 8, así que me arriesgué a rebajar para obtener una explicación creíble ya que no encontré nada en los documentos de Java relacionados con esto ...

Entonces, qué operaciones en conjuntos son nulas y seguras, se agradece una respuesta integral.

Respuestas a la pregunta(1)

Su respuesta a la pregunta