Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Einführung in den Unterschied zwischen der Beurteilung, ob zwei Zeichenfolgen in Java und JavaScript gleich sind

Detaillierte Einführung in den Unterschied zwischen der Beurteilung, ob zwei Zeichenfolgen in Java und JavaScript gleich sind

黄舟
黄舟Original
2017-03-20 14:56:561434Durchsuche

Dieser Artikel stellt hauptsächlich den Unterschied zwischen Java und JavaScript vor, um festzustellen, ob zwei Strings gleich sind. Er ist sehr gut und hat Referenzwert

Javascript ist eine häufig verwendete Skriptsprache, was auch bedeutet, dass sie im Vergleich zu anderen Programmiersprachen nicht sehr standardisiert ist. Um festzustellen, ob zwei Zeichenfolgen in Javascript gleich sind,

verwenden Sie direkt ==, Dies ist dasselbe wie die String-Klasse in C++. Um festzustellen, ob die Referenzen zweier Zeichenfolgen gleich sind, müssen Sie die Methode equal() oder

oder CompareTo()-Methode Es muss hier betont werden, dass es sich bei dem Parametertyp nicht um die String-Klasse handelt, sondern um die Object-Klasse 🎜>Mehr als einmal schreiben einige inländische Tutorials über die String-Klasse (o(╯□╰)o )

Sie können einen Blick auf den Quellcode des JDK werfen:

Wir können sehen, dass der Parametertyp die Objektklasse ist. Lassen Sie uns zunächst feststellen, ob die beiden Referenzen gleich sind. Als nächstes erfolgt die Konvertierung der Klasse:

public boolean equals(Object anObject) {
    if (this == anObject) {
      return true;
    }
    if (anObject instanceof String) {
      String anotherString = (String) anObject;
      int n = value.length;
      if (n == anotherString.value.length) {
        char v1[] = value;
        char v2[] = anotherString.value;
        int i = 0;
        while (n-- != 0) {
          if (v1[i] != v2[i])
              return false;
          i++;
        }
        return true;
      }
    }
    return false;
  }

Wir weisen das von der Unterklasse erstellte
-Objekt

der übergeordneten Klasse zu, die wir als hochtransformiertes Objekt bezeichnen. Auf dieser Basis können Sie auch übergeordnete Klassenobjekte in Unterklassenobjekte konvertieren. Einfach ausgedrückt gibt es bestimmte Bedingungen für die Konvertierung zwischen Klassen, und zur Beurteilung muss die Instanz von verwendet werden.

Die Methode equal() in jeder Klasse stammt aus der Klasse Object, daher ist es nicht schwer zu verstehen, dass der Parametertyp der Methode equal() die Klasse Object ist. Es ist erwähnenswert, dass die Methode CompareTo()

der String-Klasse in Java: Der Parameter in CompareTo() ist die String-Klasse, da die String-Klasse grundsätzlich die Comparable-Schnittstelle implementiert (. PS: Einer kommt aus der Vererbung und der andere aus der Schnittstelle, weshalb die Parametertypen der beiden inkonsistent sind.

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in den Unterschied zwischen der Beurteilung, ob zwei Zeichenfolgen in Java und JavaScript gleich sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn