Rất nhiều khái niệm xung quanh Thuộc tính chắc chắn là cổ và có vấn đề. Nó có các ngôn ngữ rất nghèo, nó bổ sung thêm các phương thức mà ngày nay sẽ được thực hiện thông qua kiểu generic, nó mở rộng Hashtable, bản thân nó không được sử dụng, vì đồng bộ của nó có giá trị giới hạn và nó có các phương thức không hài hòa với Các lớp bộ sưu tập được giới thiệu trong 1.2 và nhiều phương thức được thêm vào lớp Thuộc tính về cơ bản cung cấp loại an toàn kiểu được thay thế bằng Generics.
Nếu được triển khai hôm nay, có thể sẽ là triển khai đặc biệt của Map<String, String>
và chắc chắn hỗ trợ mã hóa tốt hơn trong tệp thuộc tính.
Điều đó đang được nói, không thực sự là sự thay thế không làm tăng thêm sự phức tạp. Chắc chắn java.util.prefs.Preferences api là "mới và được cải thiện" nhưng nó thêm một lớp phức tạp vượt xa những gì cần thiết cho nhiều trường hợp sử dụng. Chỉ cần sử dụng XML cũng là một lựa chọn (mà ít nhất là sửa chữa các vấn đề quốc tế hóa) nhưng một đối tượng đặc tính thường phù hợp với nhu cầu tốt, tại thời điểm đó sử dụng nó.
Và còn về java.util.Dictionary thì sao? Nó đã được cập nhật để sử dụng Generics, nhưng nó cũng từ lâu đã được ghi nhận là "lỗi thời". Tuy nhiên, nó vẫn không được đánh dấu là @deprecated. Tôi đoán việc phản đối là một vấn đề khó khăn. – omerkudat
@omerkudat, Từ điển về cơ bản là Bản đồ trước Bộ sưu tập trong 1.2.Mặc dù không chính thức bị phản đối, nó nằm trong cùng một nhóm với Vector. Điều đó thường không được ưa thích. http://stackoverflow.com/questions/1386275/why-java-vector-class-is-considered-obsolete-or-deprecated/ – Yishai