Hat Java einen identischen Vergleich Operator Beispiel ===

9

Java ist ein starker statischer Casting, also bedeutet es, dass es keinen Nutzen für "==="

gibt

Ich habe Tonnen von Dokumentation angeschaut und habe Identical Comparison Operator nicht gesehen.

    
c3cris 07.11.2013, 03:48
quelle

2 Antworten

20

=== ist in schwachen typisierten Sprachen wie Javascript nützlich, da es verifiziert, dass die verglichenen Objekte vom selben Typ sind und implizite Konvertierungen vermeidet.

=== hat absolut keine Verwendung in einer stark typisierten Sprache wie Java, weil Sie Variablen verschiedener Typen nicht vergleichen können, ohne eine spezifische Methode dafür zu schreiben.

Wenn Sie beispielsweise ein int mit einem String in Java vergleichen möchten, müssen Sie eine spezielle Methode schreiben:

%Vor%

Aber das ist ziemlich viel Overkill. (Und wie Sie feststellen werden, akzeptiert diese Methode nur eine int und eine String . Sie akzeptiert keine zwei Variablen. Bevor Sie es nennen, unterscheiden sich die Datentypen.) p>

Der Hauptpunkt ist, dass Sie i == s in Javascript ausführen können, aber i == s nicht in Java , so dass Sie === nicht benötigen.

Ich schätze, die kurze Antwort lautet: Java s == ist Javascript s === . Wenn Sie Javascript 's == emulieren und zwei Elemente vergleichen möchten, wobei Sie den Datentyp ignorieren, müssen Sie eine benutzerdefinierte Methode schreiben, die generische Datentypen als Argumente akzeptiert ... und die Logik des Vergleichs ermitteln, bei ein Minimum, alle möglichen Kombinationen von Java primitiven Datentypen ...

    
nhgrif 07.11.2013, 03:51
quelle
2

Kein Java hat === operator. Der Grund wird ziemlich gut von nhgrif erklärt. Hier ist die Liste der Operatoren in Java und ihre Priorität:

Quelle : Ссылка

    
Juned Ahsan 07.11.2013 03:50
quelle

Tags und Links