2017-07-26 69 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) 
}