kotlin-string-comparison
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]をチェックしてください。