Sự khác biệt giữa var
và val
trong Kotlin là gì?
Tôi đã đi qua liên kết này:
https://kotlinlang.org/docs/reference/properIES.html
Như đã nêu trên liên kết này:
Cú pháp đầy đủ của một khai báo thuộc tính chỉ đọc khác với một biến đổi theo hai cách: nó bắt đầu bằng val thay vì var và không cho phép một setter.
Nhưng ngay trước khi có một ví dụ sử dụng 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
}
Sự khác biệt chính xác giữa var
và là val
gì?
Tại sao chúng ta cần cả hai?
Đây không phải là một bản sao của Biến trong Kotlin, khác biệt với Java. var vs val? như tôi đang hỏi về sự nghi ngờ liên quan đến ví dụ cụ thể trong tài liệu và không chỉ nói chung.
result
không thể thay đổi để chỉ một thể hiện khácAddress
, nhưng thể hiện mà nó đề cập đến vẫn có thể được sửa đổi. Điều tương tự cũng sẽ đúng trong Java nếu bạn có mộtfinal Address result = new Address();