Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.java > #13152

Re: Element in TreeMap wird nicht gefunden

From "Christian H. Kuhn" <qno-news@qno.de>
Newsgroups de.comp.lang.java
Subject Re: Element in TreeMap wird nicht gefunden
Date 2017-12-31 16:54 +0100
Message-ID <fasfi5F49k4U1@mid.individual.net> (permalink)
References <fars12Fubj6U1@mid.individual.net> <p2alr9$94p$1@news-cypress.fernuni-hagen.de>

Show all headers | View raw


Grmpf. Beitrag verloren gegangen, weil Internet sich verschluckt hat.
Also nochmal.

Am 31.12.2017 um 13:40 schrieb Michael Paap:
> Reduziere dein Problem auf ein minimales Beispiel.

Solange das Beispiel einfach ist, funktioniert es. Der Fehler tritt auf,
wenn es anfängt, komplex zu werden. Ich lerne: nicht nur von test driven
development reden, sondern machen, dann bleiben die Probleme einfach.

> Das Problem hat irgendas mit TreeSet und Map zu tun und es werden
> Elemente in der Map nicht gefunden. 
Ja.

> Ursache: Maps arbeiten nicht mit
> equals() sondern mit hashCode(). 

Das konnte ich nicht verifizieren. Die API Docs von Set und Map sprechen
eindeutig von equals(), solange die Implementierung nicht was anderes
macht; hashCode() wird nur als Beispiel erwähnt. Die benutzten
Implementierungen sind TreeSet (und damit TreeMap), die bleiben bei
equals() und benutzen außerdem noch Comparable.compareTo(), das
konsistent zu equals() implementiert werden muss. hashCode() wird nicht
benutzt. Eclipse erzeugt zu equals(), was ich verändert habe, auch
hashCode(), da habe ich einen Breakpoint gesetzt, der im Debugger nie
erreicht wird.

Der Fehler war ein < statt > in den Tiefen von compareTo(). Gefunden
habe ich ihn, nachdem ich mal Tests für equals() und compareTo()
geschrieben habe.

lg
QNo

Back to de.comp.lang.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Element in TreeMap wird nicht gefunden "Christian H. Kuhn" <qno-news@qno.de> - 2017-12-31 11:21 +0100
  Re: Element in TreeMap wird nicht gefunden Michael Paap <michael.paap@studium.fernuni-hagen.de> - 2017-12-31 13:40 +0100
    Re: Element in TreeMap wird nicht gefunden Michael Paap <michael.paap@studium.fernuni-hagen.de> - 2017-12-31 13:51 +0100
      Re: Element in TreeMap wird nicht gefunden Michael Paap <michael.paap@studium.fernuni-hagen.de> - 2017-12-31 13:55 +0100
        Re: Element in TreeMap wird nicht gefunden "Christian H. Kuhn" <qno-news@qno.de> - 2017-12-31 16:42 +0100
          Re: Element in TreeMap wird nicht gefunden Michael Paap <michael.paap@studium.fernuni-hagen.de> - 2017-12-31 19:54 +0100
            Re: Element in TreeMap wird nicht gefunden "Christian H. Kuhn" <qno-news@qno.de> - 2018-01-01 13:25 +0100
              Re: Element in TreeMap wird nicht gefunden Michael Paap <michael.paap@studium.fernuni-hagen.de> - 2018-01-01 14:31 +0100
    Re: Element in TreeMap wird nicht gefunden "Christian H. Kuhn" <qno-news@qno.de> - 2017-12-31 16:54 +0100
      Re: Element in TreeMap wird nicht gefunden Michael Paap <michael.paap@studium.fernuni-hagen.de> - 2017-12-31 19:57 +0100

csiph-web