Jestem nowy w firmie Kotlin i szukam porad w przepisywaniu tego kodu w bardziej elegancki sposób.Jak idiomatycznie przekształcić typy nullable w Kotlin?
val ts: Long? = 1481710060773
val date: Date?
if (ts != null) {
date = Date(ts)
}
Próbowałem let
, ale myślę, że nie jest lepszy niż oryginalny.
val ts: Long? = 1481710060773
val date: Date?
ts?.let {
date = Date(ts)
}
Dzięki.
Twój pierwszy snipped nie może być skompilowany, ponieważ jest to kod niemożliwy w Kotlin ('val date' nie zawsze jest inicjowane). Popraw to lub uściślij: – voddan
Jestem pewien, że jest to kompilacja (przynajmniej działa w Android Studio z Kotlin 1.0.5-2). – iForests
@voddan Całkowicie można zadeklarować, ale nie zainicjować 'val'. Jedynym punktem, w którym mogą wystąpić błędy kompilacji, jest uzyskanie dostępu do niego przed jego przypisaniem i próba przypisania go więcej niż raz. [Definiowanie zmiennych lokalnych] (https://kotlinlang.org/docs/reference/basic-syntax.html#defining-local-variables). – nhaarman