Vergleiche String Kotlin

9

Ich studiere Kotlin, aber ich bin sehr enttäuscht, ich kann zwei Strings nicht vergleichen.

Was ist der richtige Vergleich?

%Vor%

    
FlipNovid 03.07.2017, 01:43
quelle

6 Antworten

12

Gemäß der Dokumentation für die strukturelle Gleichheit verwenden Sie == . Es wird in a?.equals(b) ?: (b === null) übersetzt.

Konvertieren Sie in Ihrem Fall die Anmeldung und übergeben Sie von SpannableStringBuilder an String.

%Vor%     
Dmitrii Nechepurenko 03.07.2017 02:01
quelle
6

Hier ist das Beispiel für die Übereinstimmung der beiden Strings mit Kotlin.

Wenn Sie == (double equals) verwenden, um den String zu vergleichen, dann vergleichen Sie die Adresse & amp; Rückgabe der maximalen Zeit falsches Ergebnis gemäß Java-Dokumentation, also verwenden Sie gleich für dasselbe

Wenn Sie equal ignore case verwenden möchten, übergeben Sie das true in der equals-Methode von String

%Vor%

Ansonsten können Sie dies ohne Boolean wie

verwenden %Vor%

compleate code ist unter

%Vor%     
Er Maraj Hussain 05.09.2017 06:40
quelle
5

Verdeckt sowohl die SpannableStringBuilder bis string mit toString , das sollte funktionieren.

%Vor%     
Shankar Koirala 03.07.2017 02:46
quelle
2

1. == :

if ( string1 == string2 ){...}

2. equals :

  

Gibt an, ob ein anderes Objekt diesem "gleich" ist.   Implementierungen müssen folgende Anforderungen erfüllen:   Reflexiv: für jeden Nicht-Null-Referenzwert x, x.equals (x) sollte   true zurückgeben.

     

Symmetrisch: für alle Nicht-Null-Referenzwerte x und y, x.equals (y)   sollte genau dann true zurückgeben, wenn y.equals (x) true zurückgibt.

     

Transitiv: für alle Nicht-Null-Referenzwerte x, y und z, falls   x.equals (y) gibt true zurück und y.equals (z) gibt dann true zurück   x.equals (z) sollte true

zurückgeben      

Konsistent: für alle Nicht-Null-Referenzwerte x und y multiple   Aufrufe von x.equals (y) liefern konsistent wahr oder konsistent   return false, vorausgesetzt, dass keine Informationen in Equals-Vergleichen verwendet werden   Die Objekte sind modifiziert.

%Vor%

3. compareTo :

public override fun compareTo(other: String): Int

  

Vergleicht dieses Objekt mit dem angegebenen Objekt für die Reihenfolge. Gibt null zurück   Wenn dieses Objekt gleich dem angegebenen anderen Objekt ist, ein Negativ   Nummer, wenn es weniger als andere ist, oder eine positive Zahl, wenn es größer ist   als andere.

%Vor%
  

Vergleicht zwei Zeichenfolgen lexikografisch, wobei die Groß- und Kleinschreibung ignoriert wird   Unterschiede

    
Misagh 23.08.2017 08:34
quelle
0

Mit Fallprüfung

%Vor%

IgnoreCase

%Vor%     
Santhosh 25.07.2017 11:25
quelle
0

Versuchen Sie die folgende Lösung, sehen Sie, ob es hilft:

%Vor%     
lannyf 08.08.2017 13:05
quelle

Tags und Links