Tôi đã khám phá thư viện lập bản đồ đối tượng cơ sở dữ liệu Room và tôi đã tìm ra điều gì đó kỳ lạ.Tại sao các thực thể Phòng không hoạt động với các thuộc tính bất biến trong Android
Mô hình dữ liệu thực thể không được có các thuộc tính bất biến, như câu trả lời this đề xuất.
Nhưng tôi đã xem google's persistent example with kotlin, Room
cũng hoạt động với các thuộc tính không thể thay đổi được. Vui lòng kiểm tra this lớp dữ liệu từ ví dụ.
Điều gì có thể là lý do cho hành vi này? Đây có thể là một tính năng tốt nếu chúng ta có thể tạo ra các giá trị bất biến (val
thuộc tính), vì điều này hạn chế các lập trình viên thay đổi định danh duy nhất như id sau khi một đối tượng đã được tạo.
Tôi không phải là một chuyên gia về phòng đặc biệt, nhưng tôi tin rằng nếu bạn muốn sử dụng 'val ', bạn cần cung cấp các giá trị mặc định cho mọi thứ vì nó có thể dựa vào một hàm tạo mặc định hoặc một cái gì đó trừ khi điều này đã thay đổi gần đây. Ngoài ra, bạn sẽ không thể thay đổi giá trị khi chúng được đặt. –
@JanVladimirMostert Cảm ơn bạn đã trả lời. Tôi đã kiểm tra rằng với các giá trị mặc định, vẫn còn vấn đề dường như xảy ra –