Nehmen wir an, ich habe ein letztes Feld mit private final String s
(Java) oder val s
(Kotlin) erklärt. Während der Initialisierung möchte ich das Feld mit dem Ergebnis eines Anrufs zu einem Remote-Dienst initialisieren. In Java wäre ich in der Lage, es im Konstruktor zu initialisieren (z. B. s = RemoteService.result()
), aber in Kotlin kann ich nicht herausfinden, wie das zu tun ist, weil das Feld in derselben Zeile, die es deklariert ist, initialisiert werden muss. Was ist die Lösung hier?Wie initialisiere ich ein letztes Feld in Kotlin?
6
A
Antwort
10
Sie können val
Wert in init Block gesetzt:
class MyClass {
val s: String
init {
s = "value"
}
}
4
Sie können auch den Wert mit by lazy
initialisieren wird der Wert zum ersten Mal initialisiert wird, bezeichnet wird. Ein Beispiel
val s by lazy { RemoteService.result() }
Kotlin wird den Typ von s aus dem Rückgabetyp des Ausdrucks raten.
Verwandte Themen
- 1. Wie initialisiere ich die Liste <T> in Kotlin?
- 2. Fazilität Instanziieren Sie ein letztes Feld
- 3. Wie initialisiere ich ein const std :: pair?
- 4. Wie initialisiere ich ein Date-Feld in einem Grails-Domänenobjekt als Zeitstempel?
- 5. Kotlin: Wie zur Lazy Initiation ein Vektor
- 6. Wie initialisiere ich ein mehrdimensionales Array von Objekten in TypeScript?
- 7. Wie initialisiere ich ein Array in einer Struktur
- 8. Wie initialisiere ich ein globales Array von Strukturen in D?
- 9. Initialisiere ein Objekt in Java
- 10. Initialisiere ein numpy Array
- 11. Letztes Element Ich bin ein Django Fremdschlüssel
- 12. Wie initialisiere ich eine Ansicht in H2
- 13. Wie deklariere ich eine Variable vom Enum-Typ in Kotlin?
- 14. Wie initialisiere ich ein CBMutableCharacteristic mit mehreren CBCharacteristicProperties und Permissions
- 15. Wie kann ich ein Null-Zeichen in Kotlin
- 16. Wie initialisiere ich elegant ein Array von std :: atomic?
- 17. Initialisiere ein Git Repository remote
- 18. Initialisiere
- 19. Wie bekomme ich ein Feld in Objekten?
- 20. Wie initialisiere ich eine HKObserverQuery mit updateHandler?
- 21. AFNetworking 3 - Wie initialisiere ich NSProgress
- 22. Wie initialisiere ich eine Zeitspanne mit Sekunden
- 23. Wie initialisiere ich den Logger für Integrationstests?
- 24. Initialisiere Sucheingabe in jQuery Datatables
- 25. Wie erzwingen Sie ein erstes Anführungszeichen gegen ein letztes Anführungszeichen?
- 26. Sharepoint Discussion Board „Letztes Update“ -Feld wird nicht aktualisiert, mehr
- 27. Kann in Java ein letztes Feld von einem Konstruktorhelfer initialisiert werden?
- 28. Wie füge ich ein Feld in der Bearbeitungsseite in das Publish-Feld in Wordpress ein?
- 29. Wie initialisiere ich eine neue NSDocument-Instanz in Swift?
- 30. Wie initialisiere ich die eigene Klasse in Rails?