English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Kotlin 文字列の比較

Kotlinで文字列を比較する場合、以下のような方法があります:

1、「==」演算子を使用して
2、compareTo()拡張関数を使用して

文字列を比較するための「==」演算子を使用します

Kotlinの二つの文字列を比較するために==演算子を使用します。KotlinのEqualityドキュメントによると、==演算子は構造的な等価性を比較するために使用されます。

Kotlin言語では:a==b は a?.equals(b) ?: (b === null) に暗黙的に変換されます。

値aとbがどちらも文字列データ型であることを確認してください。文字列でない場合は、比較の前にそれらを文字列に変換する必要があります。

/**
* Kotlin例,二つの文字列が相等かどうかを比較*/
 
fun main(args: Array<String>) {
    var a: String = "kotlin is easy"
    var b: String = "kotlin is" + "easy"
    if(a==b){
        println("文字列 '$a' と '$b' 相等。")
    } else {
        println("文字列 '$a' と'$b' 不相等。")
    }
 
    b = "Kotlin runs on JVM"
    if(a==b){
        println("文字列 '$a' と '$b' 相等。")
    } else {
        println("文字列 '$a' と '$b' 不相等。")
    }
}

出力結果:

文字列 'kotlin is easy' と 'kotlin is easy' は相等です。
文字列 'kotlin is easy' と 'Kotlin runs on JVM' は不相等です。

compareTo()拡張関数を使用して文字列を比較

KotlinはStringにcompareTo()拡張関数を提供しています。
compareTo()関数の構文は以下の通りです:

fun String.compareTo(
      other: String, 
      ignoreCase: Boolean = false
): Int

その他:String は必須引数です。ignoreCase はオプション引数です。

この関数は整数値を返します。

返り値説明
0

この二つの文字列は等しい。

負の整数

この文字列が他の文字列よりも小さい場合

正の整数

この文字列が他の文字列よりも大きい場合

/**
* Kotlin例,二つの文字列を比較
*/
fun main(args: Array<String>) {
    var a: String = "apple"
    var b: String = "apple"
    var result = a.compareTo(b)
    if(result==0){
        println("文字列 '$a' と '$b' は等しい")
    }
        println("'$a' は '$b' より文字数が少ない.")
    }
        println("'$a' は '$b' より文字数が少ない.")
    }
 
    b = "banana"
    result = a.compareTo(b)
    if(result==0){
        println("文字列 '$a' と '$b' は等しい")
    }
        println("'$a' は '$b' より文字数が少ない.")
    }
        println("'$a' は '$b' より文字数が少ない.")
    }
 
    // compareTo 無視大小写,ignoreCase引数 为 true
    a = "appLE"
    b = "aPple"
    println("\n無視大小写...")
    result = a.compareTo(b, true) // ignoreCase = true
    if(result==0){
        println("文字列 '$a' と '$b' は等しい")
    }
        println("'$a' は '$b' より文字数が少ない.")
    }
        println("'$a' は '$b' より文字数が少ない.")
    }
}

出力結果:

文字列 'apple' と 'apple' は等しい
'apple' は 'banana' より文字数が少ない。
 
大文字と小文字を区別しない...
文字列 'appLE' と 'aPple' は等しい

 
この章では、サンプルプログラムの助けにより、== 运算子と CompareTo()関数を使用して2つの文字列を比較する方法を学びます。