Trên tất cả các dự án của chúng tôi, chúng tôi có loại enums này. Chúng hoạt động tốt, nhưng chúng tôi không chắc chắn về chúng.là Danh sách của tôi có đúng không?
Đặc biệt với phương thức getDocumentType (String).
Có cách nào để tránh lặp lại trên tất cả trường Enums không?
public enum DocumentType {
UNKNOWN("Unknown"),
ANY("Any"),
ASSET(Asset.class.getSimpleName()),
MEDIA(Media.class.getSimpleName()),
MEDIA35MM(Media.class.getSimpleName() + " 35mm");
private String label;
private DocumentType(String label) {
this.label = label;
}
public String getLabel() {
return label;
}
public static DocumentType getDocumentType(String label){
for(DocumentType documentType : DocumentType.values()){
if(documentType.getLabel().equals(label)){
return documentType;
}
}
return UNKNOWN;
}
}
Chỉnh sửa: Kiểm tra phản hồi mới. Cô ấy cũng khỏe.
Thật hấp dẫn để lưu trữ một bản đồ tĩnh của nhãn cho trường hợp enum, nhưng bực bội, java sẽ không cho phép bạn tham chiếu trường tĩnh từ hàm tạo của enum. – skaffman
Tôi tự hỏi tại sao bạn sử dụng Asset.class.getSimpleName() thay vì chỉ viết "Tài sản"? Bạn có kế hoạch thay đổi tên bằng cách tái cấu trúc không? – akarnokd
Bởi vì luôn luôn thực hành tốt để sử dụng chữ lớp thay vì chuỗi? – skaffman