ce qui doit être hashcode de nulle objets en Java?

Selon un commentaire de cette post, hascode de null objects peut throw NPE ou une valeur de zero. C'est la mise en œuvre spécifique. mais à l'intérieur même de la mise en œuvre, pourquoi ne
Objects.hashcode et hascode(instance) retour des valeurs différentes. ex:

public class EqualsTesting {

    public static void main(String[] args){
        String p1 =null;
        String p2 = null;
        System.out.println(Objects.hashCode(p1));
        System.out.println(p2.hashCode());

    }
}

De sortie:

0
Exception in thread "main" java.lang.NullPointerException
    at BinaryTrees.EqualsTesting.main(EqualsTesting.java:14)

Si c'est le cas, ce n'est pas affecter le key look-up dans HashMapnull Key-value pairs sont autorisés. (Il pourrait soit hash à bucket 0 ou throw a NPE)

Provoquer 1er est statique de la méthode et la seconde est non statique
alors pourquoi devraient-ils retourner des valeurs différentes?
Vous ne pouvez pas appeler hashCode() ou de toute autre méthode sur null.
Vous ne pouvez pas appeler de toute méthode d'instance d'une null de référence. Ce n'est pas spécifique à la hashCode() méthode.
", Selon un commentaire de ce post ..." - je vous conseille de ne pas essayer de trop lu dans un commentaire d'une ligne. Lire les vraies Réponses.

OriginalL'auteur eagertoLearn | 2014-02-03