nullable => Optional
Wenn Sie Code in Kotlin schreiben, müssen Sie ihn in Java Optional konvertieren. Verwenden Sie in diesem Fall "Optional.ofNullable", um es in "Optional" zu konvertieren. Sie können auch "Optional.of" verwenden, wenn es nicht nullbar ist.
class SecurityAuditorAware: AuditorAware<Long> {
override fun getCurrentAuditor(): Optional<Long> {
val authentication = SecurityContextHolder.getContext().authentication
if (authentication == null || !authentication.isAuthenticated) {
return Optional.ofNullable(null)
}
return Optional.ofNullable((authentication.principal as UserDetail?)?.user?.id)
}
}
Aus Javas Sicht sieht Kotlins Nullable genauso aus wie nicht, also "Optional <Long?>", "Optional
Optional => nullable / not-nullable
Wenn Sie "findById" im Spring 5-Repository verwenden, wird "Optional
optionalValue.get() => not-nullable
optionalValue.orElse(null) => nullable
Für Werte vom Typ "Optional" stehen viele andere Methoden zur Verfügung.
Es wurde im nächsten Artikel ausführlich beschrieben. https://qiita.com/tasogarei/items/18488e450f080a7f87f3
Recommended Posts