Ich bin neu in Kotlin, und ich bin auf der Suche nach der Empfehlung, den folgenden Code auf elegantere Weise umzuschreiben.Wie man NULL-fähige Typen in Kotlin idiomatisch transformiert?
val ts: Long? = 1481710060773
val date: Date?
if (ts != null) {
date = Date(ts)
}
Ich habe let
versucht, aber ich denke, es ist als das Original nicht besser ist.
val ts: Long? = 1481710060773
val date: Date?
ts?.let {
date = Date(ts)
}
Danke.
Ihr erstes Snipped muss nicht kompiliert worden sein, da es ein unmöglicher Code in Kotlin ist (Val-Datum wird nicht immer initialisiert). Bitte korrigieren Sie es oder machen Sie es genauer – voddan
Ich bin sicher, dass es kompilierbar ist (zumindest funktioniert es in Android Studio mit Kotlin 1.0.5-2). – iForests
@voddan Es ist durchaus möglich, ein 'val' zu deklarieren, aber nicht zu initialisieren. Der einzige Punkt, an dem Kompilierungsfehler auftreten können, besteht darin, vor der Zuweisung auf sie zuzugreifen und sie mehrmals zuzuweisen. [Definieren von lokalen Variablen] (https://kotlinlang.org/docs/reference/basic-syntax.html#defining-local-variables). – nhaarman