2017-07-26 71 views
1

我已覆盖Kotlin中返回Optional<String>的函数。如何将String?String类型转换为Optional<String>如何从字符串获得可选<String>?和Kotlin中的字符串

例子:

override fun getCurrentAuditor(): Optional<String> { 
    val userName = SecurityUtils.currentUserLogin 
    return userName ?: SYSTEM_ACCOUNT 
} 

从上面的例子:

userNameString?

SYSTEM_ACCOUNT是在return语句String

我得到的错误,两个变量都不是Optional<String>类型。

+0

你能告诉我你为什么要这么做。 Kotlin有更好的方法来使用String处理空值? (Kotlin optionals)。 – swapnil

+1

@swapnil他解释说,他在第一句话中写道 –

回答

6

只需创建一个包的字符串值,你的情况:

override fun getCurrentAuditor(): Optional<String> { 
    val userName = SecurityUtils.currentUserLogin 
    return Optional.of(userName ?: SYSTEM_ACCOUNT) 
}