Auf Thema antworten

ok, ich hab den relevanten code gefunden, und zwar hier:

http://download.java.net/jdk6/6u23/promoted/b05/jdk-6u23-fcs-src-b05-jrl-12_nov_2010.jar



[JAVA=297]

    public V get(Object key) {

        if (key == null)

            return getForNullKey();

        int hash = hash(key.hashCode());

        for (Entry<K,V> e = table[indexFor(hash, table.length)];

             e != null;

             e = e.next) {

            Object k;

            if (e.hash == hash && ((k = e.key) == key || key.equals(k)))

                return e.value;

        }

        return null;

    }


[/code]


es wird also tatsächlich in zeile 305 ein equals aufgerufen, aber nur wenn haswerte gleich sein und == vergleich fehlschlägt. Wieso hab ich soviel verschiedenene String Objekte mit gleichem text?



Oben