2016-06-16 13 views
7

Próbowałem coś takiego:Jak używać lotnych na Kotlin

private volatile var instanceState: InstanceState = InstanceState.starts 

Error: 'Expected member declaration' 

i tak:

private volatile var instanceState: InstanceState = InstanceState.starts 

Error: 'Property getter or setter expected' 

lotny nie jest obsługiwany w Kotlin?

Odpowiedz

12

można oznaczyć nieruchomość jako volatile z @Volatile adnotacji:

@Volatile var name:String = "stack" 

Deklaracja pole Powstały jest równoważne Java:

private volatile java.lang.String name; 

Zgodnie z @Volatile docs:

Zaznacza podkładową pole JVM z adnotacją własności jako lotny, ten sposób, że pisze w tej dziedzinie są natychmiast widoczne dla innych wątków.

+0

adnotacja powinna być na tej samej linii, myślę, że – voddan

+0

@voddan jest to, że niektóre zalecany przewodnik stylu Kotlin? – miensol

+0

to jest. Zobacz https://github.com/yole/kotlin-style-guide/issues/4 – voddan

Powiązane problemy