Hi Leute,
warum gibt es in Java per Definiton keine Gleichheit der Ausdrücke NaN == NaN, sondern umständliche Abfragen per isNaN()? Was hat man sich da bei der Implementierung bloss gedacht?
Bis denne,
Bernd
Hi Leute,
warum gibt es in Java per Definiton keine Gleichheit der Ausdrücke NaN == NaN, sondern umständliche Abfragen per isNaN()? Was hat man sich da bei der Implementierung bloss gedacht?
Bis denne,
Bernd
Hi,
warum gibt es in Java per Definiton keine Gleichheit der
Ausdrücke NaN == NaN, sondern umständliche Abfragen per
isNaN()? Was hat man sich da bei der Implementierung bloss
gedacht?
Das ist eine grundsätzliche Frage. NaN bedeutet eben, daß der Operand keine Zahl ist. Was es ist, weiß java nicht.
Nehmen wir z.B. an, Du möchtest eine Tomate und eine Birne vergleichen. Beides sind keine Zahlen, aber sie sind offensichtlich nicht gleich!
Auch vor Java gab es ähnliche Überlegungen, z.B. bei der SQL-Sprachdefinition: dort sind alle Vergleichsoperatoren mit NULL undefiniert und ergeben FALSE.
Hoffe mein Vergleich hinkt nicht zu sehr!
Gruß
J.
Hallo Jose,
danke, ich denke, mit der Erklärung komme ich klar 
Bis denne,
Bernd
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]