我在Kotlin中覆盖了一个返回Optional<String>
的函数。如何将String?
和String
类型转换为Optional<String>
?
示例:
override fun getCurrentAuditor(): Optional<String> {
val userName = SecurityUtils.currentUserLogin
return userName ?: SYSTEM_ACCOUNT
}
从上面的例子中可以看出:
userName
是String?
SYSTEM_ACCOUNT
是String
我在return语句中遇到错误,两个变量都不是Optional<String>
类型。
答案 0 :(得分:6)
在你的情况下,只需创建一个包装字符串值的文件:
override fun getCurrentAuditor(): Optional<String> {
val userName = SecurityUtils.currentUserLogin
return Optional.of(userName ?: SYSTEM_ACCOUNT)
}