nullable => Optional
Si vous écrivez du code dans Kotlin, vous devrez le convertir en Java facultatif.
Dans ce cas, utilisez ʻOptional.ofNullable pour convertir en ʻOptional
.
Vous pouvez également utiliser ʻOptional.of` s'il n'est pas nullable.
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)
}
}
Du point de vue de Java, le nullable de Kotlin ressemble à non, donc ʻOptional <Long?> , ʻOptional <Long>
, ʻOptional , ʻOptional <Long?>?
Est le même. Vous pouvez utiliser ces quatre modèles pour le type de retour de getCurrentAuditor ()
dans l'exemple.
Optional => nullable / not-nullable
L'utilisation de findById
dans le référentiel Spring 5 retournera ʻOptional . Dans de tels cas, vous voudrez peut-être extraire le contenu de ʻOptional
pour passer une valeur à Kotlin.
optionalValue.get() => not-nullable
optionalValue.orElse(null) => nullable
Il existe de nombreuses autres méthodes disponibles pour les valeurs de type «Facultatif».
Il a été décrit en détail dans l'article suivant. https://qiita.com/tasogarei/items/18488e450f080a7f87f3
Recommended Posts