Gần đây tôi đã tình cờ thấy các đối tượng bất biến hữu ích như thế nào và ví dụ như nếu bạn chuyển các phần tử cho một hàm tạo và lớp của bạn sẽ không thay đổi, bạn phải sao chép các phần tử này nếu chúng không tự biến đổi.
Điều này đòi hỏi rất nhiều kiểm tra hoặc kiến thức về dự án của tôi, bởi vì nếu tôi có
public A(B foo)
và B
không phải là bất biến, A
tôi phải sao chép B
. Bây giờ tưởng tượng B
có vẻ bất biến, nhưng bản thân nó có các lớp có thể thay đổi trong hàm tạo và vân vân.
Có một tiêu chuẩn hoặc cách thực hành tốt nhất để ghi lại tài liệu nếu một lớp là bất biến trong Java? Có vẻ như không có @immutable
từ khóa trong Javadoc.
Các chú thích @Immutable có vẻ là một cái gì đó hoàn toàn khác nhau cho thế hệ lớp tự động và không nằm trong tiêu chuẩn Java.