二つの文字列が等しいかどうか、違うのかを比較する方法を紹介します。
1. "=="演算子で文字列を比較する
==
演算子は2つの文字列が等しい場合 true
を返し、異なる場合false
を返します。基本的には大文字と小文字を別の文字として認識して比較します。
fun main(args: Array<String>) {
val a = "kotlin"
val b = "kotlin"
val c = "KOTLIN"
if (a == b)
println("a is equal to b")
if (a == c)
println("a is equal to c")
}
Output:
a is equal to b
2. equals() で文字列を比較する
a.equals(b)
はaとbの文字列が同じときtrue、異なる場合はfalseを返します。 ==
演算子と同じ結果を返します。
fun main(args: Array<String>) {
val a = "kotlin"
val b = "kotlin"
val c = "KOTLIN"
if (a.equals(b))
println("a is equal to b")
if (a.equals(c))
println("a is equal to c")
}
Output:
a is equal to b
2.1 equals(string, ignoreCase) : Case Insensitive
大文字と小文字を無視して文字列を比較するには、 equals(string, ignoreCase)
のように、二番目の引数ignoreCaseにtrueを渡します。 falseを配信したり、入力しないと、大文字と小文字を区別して比較します。
fun main(args: Array<String>) {
val a = "kotlin"
val c = "KOTLIN"
if (a.equals(c, false))
println("a is equal to c (Case Sensitive)")
if (a.equals(c, true))
println("a is equal to c (Case Insensitive)")
}
Output:
a is equal to c (Case Insensitive)
3. compareTo() で文字列を比較する
a.compareTo(b)
は、文字列aとbを比較して、 "同じ"、 "aが大きい"、 "bが大きい」に関する情報を戻します。
equals()
は「同じ」、「違う」の情報のみを返す場合は、 compareTo()
は任意の文字列がより大きいの追加情報を提供すると考えられます。
このような大きさの比較は、文字列のリストを昇順または降順でソートするときに使用することができます。
Return value | Description |
---|---|
0 | Two strings are equal. |
negative integer | the string is less than the other |
positive integer | the string is greater than the other |
次のようなコードで、文字列の比較をすることができます。
fun main(args: Array<String>) {
val a = "kotlin"
val b = "kotlin"
val c = "KOTLIN"
if (a.compareTo(b) == 0)
println("a is equal to b")
if (a.compareTo(c) > 0)
println("a is greater than c")
if (c.compareTo(a) < 0)
println("c is less than a")
}
Output:
a is equal to b
a is greater than c
c is less than a
3.1 compareTo(string, ignoreCase) : Case Insensitive
大文字と小文字を無視して文字列を比較するには、 compareTo(string, ignoreCase)
のように二番目の引数ignoreCaseにtrueを渡します。
falseを配信したり、入力しないと、大文字と小文字を区別して比較します。
fun main(args: Array<String>) {
val a = "kotlin"
val c = "KOTLIN"
if (a.compareTo(c, false) > 0)
println("a is greater than c (Case Sensitive)")
if (a.compareTo(c, true) == 0)
println("a is equals to c (Case Insensitive)")
}
Output:
a is greater than c (Case Sensitive)
a is equals to c (Case Insensitive)
References
Related Posts
- Kotlin - エルビス演算子(Elvis Operation)
- Kotlin - Timer、定期的に関数を実行する
- Kotlinで正規表現を使用する
- Kotlin - 文字列の比較方法(equals、==、compareTo)
- Kotlin - 2つのList一つの併合
- Kotlin - ディレクトリのすべてのファイルのリスト出力
- Kotlin - リストの並べ替え方法(sort、sortBy、sortWith)
- Kotlin - 乱数生成(Random、SecureRandom)
- Kotlin - StringをFloatに変換
- Kotlin - Destructuring Declaration
- Kotlin - objectとclassキーワードの違い
- Kotlin - 現在の日付と時刻を取得する方法