Junior
Jakie zmienne mogą być używane w klasie danych (data class)?
sobes.tech AI
Odpowiedź od AI
W data class mogą być używane:
val(właściwość tylko do odczytu): Właściwość jest inicjowana podczas tworzenia obiektu i nie może być później zmieniona. Jest częścią automatycznie generowanych metod (equals(),hashCode(),toString(),copy).var(właściwość zmienna): Właściwość może być zmieniona po utworzeniu obiektu. Również jest częścią generowanych metod.- Właściwości zadeklarowane w ciele klasy: Te właściwości nie są częścią głównych właściwości data class i nie uczestniczą w generowaniu standardowych metod.
Przykład:
data class User(
val id: Int, // tylko do odczytu, część głównych właściwości
var name: String, // zmienna, część głównych właściwości
val creationTime: Long = System.currentTimeMillis() // tylko do odczytu, z domyślną wartością, część głównych właściwości
) {
val isAdmin: Boolean = false // tylko do odczytu, nie jest częścią głównych właściwości, nie jest uwzględniany w equals/hashCode/toString
}