Kotlinの文字列比較

1. 概要

2. 比較演算子

「==」演算子から始めましょう。 この演算子を使用して、文字列が構造的に等しいかどうかを確認できます。 * https://www.baeldung.com/java-compare-strings [Javaの_equals_メソッド] *を使用するのと同等です:
val first = "kotlin"
val second = "kotlin"
val firstCapitalized = "KOTLIN"
assertTrue { first == second }
assertFalse { first == firstCapitalized }
ここで、参照等値演算子「===」を考慮すると、2つの変数が同じオブジェクトを指している場合、_true_を返します。 *これは、Javaで==を使用するのと同等です*。
引用符を使用して文字列値を初期化すると、それらは同じオブジェクトを指します。 ただし、文字列を個別に作成する場合、変数は別のオブジェクトを指します。
val copyOfFirst = buildString { "kotlin" }
assertTrue { first === second }
assertFalse { first === copyOfFirst }

3. _equals_との比較

  • equals method *は、_“ ==” _演算子と同じ結果を返します。

assertTrue { first.equals(second) }
assertFalse { first.equals(firstCapitalized) }
*大文字と小文字を区別しない比較を行いたい場合は、_equals_メソッドを使用して、2番目のオプションパラメータ_ignoreCase_に_true_ *を渡すことができます。
assertTrue { first.equals(firstCapitalized, true) }

4. _compareTo_との比較

Kotlinには__compareTo __methodがあり、2つの文字列の順序を比較するために使用できます。 equalsメソッドと同様に、_compareTo_メソッドにもオプションの_ignoreCase_引数が付属しています。
assertTrue { first.compareTo(second) == 0 }
assertTrue { first.compareTo(firstCapitalized) == 32 }
assertTrue { firstCapitalized.compareTo(first) == -32 }
assertTrue { first.compareTo(firstCapitalized, true) == 0 }
compareToメソッドは、等しい文字列に対してゼロを返し、引数のASCII値の正の値は小さく、引数のASCII値が大きい場合は負の値を返します。 ある意味では、*減算を読むように読むことができます*。
最後の例では、大文字と小文字を区別しない引数_、__により、2つの文字列はequal__と見なされます。 __

5. 結論

この簡単な記事では、いくつかの基本的な例を使用して、Kotlinで文字列を比較するさまざまな方法を見ました。
いつものように、すべてのコードhttps://github.com/eugenp/tutorials/tree/master/core-kotlin-2[on on GitHub]をチェックしてください。