Apa perbedaan antara var
dan val
di Kotlin?
Saya telah melalui tautan ini:
https://kotlinlang.org/docs/reference/properties.html
Sebagaimana dinyatakan pada tautan ini:
Sintaks penuh dari deklarasi properti read-only berbeda dari yang bisa berubah dalam dua cara: ini dimulai dengan val bukan var dan tidak memungkinkan setter.
Namun sesaat sebelum ada contoh yang menggunakan setter.
fun copyAddress(address: Address): Address {
val result = Address() // there's no 'new' keyword in Kotlin
result.name = address.name // accessors are called
result.street = address.street
// ...
return result
}
Apa perbedaan persis antara var
dan val
?
Mengapa kita membutuhkan keduanya?
Ini bukan duplikat dari Variabel di Kotlin, perbedaan dengan Java. var vs val? karena saya bertanya tentang keraguan terkait dengan contoh khusus dalam dokumentasi dan bukan hanya secara umum.
result
tidak dapat diubah untuk merujuk ke instance berbedaAddress
, tetapi instance yang merujuknya masih dapat dimodifikasi. Hal yang sama akan berlaku di Jawa jika Anda memilikifinal Address result = new Address();