如果传递空值,如何将非空字符串变量的值设置为空

Nur*_*r4I 3 kotlin

如何在 Kotlin 中实现该 java 代码的模拟?

class Item {
    private String text = "";

    public String getText() {
        return text;
    }

    public void setText(String str) {
        if(str == null){
            text = "";
        } else {
            text = str;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

因此,每当我为文本设置空值时,它的值就会被空字符串替换。我想要完全相同的行为,但在 Kotlin 中,因为我正在 Kotlin 代码中使用 Java 类,这可能会返回一些 null 值。每次在设置字段值之前检查是否可为空并不是一个好主意,因为它可能会被意外忘记,并在运行时给出异常。

Gib*_*olt 6

最简单的方法是text.orEmpty()

text.orEmpty()for aString?如果为 null 则返回 "" 或原始字符串

最好的替代选择是text ?: ""