33

私は Kotlin を初めて使用します。次のコードをよりエレガントに書き直すための助けを探しています。

var s: String? = "abc"
if (s != null && s.isNotEmpty()) {
    // Do something
}

次のコードを使用する場合:

if (s?.isNotEmpty()) {

コンパイラは不平を言うでしょう

Required: Boolean
Found: Boolean?

ありがとう。

4

4 に答える 4

46

isNullOrEmptyまたはその友人isNullOrBlankを次のように使用できます。

if(!s.isNullOrEmpty()){
    // s is not empty
}

isNullOrEmptyとは両方とものisNullOrBlank拡張メソッドであるCharSequence?ため、 で安全に使用できますnull。またはnull、次のように false に変更します。

if(s?.isNotEmpty() ?: false){
    // s is not empty
}

次のこともできます

if(s?.isNotEmpty() == true){ 
    // s is not empty
}
于 2016-12-15T11:16:55.850 に答える