우리 프로젝트 전체에 우리는 이런 종류의 열거 형을 가지고 있습니다. 그들은 잘 작동하지만 우리는 그들에 대해 확신하지 못합니다.이 정확한 열거 형입니까?
특히 getDocumentType (String) 메소드 사용.
모든 열거 형 필드에서 반복을 피할 수있는 방법이 있습니까?
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;
}
}
편집 : newacct 응답을 확인하십시오. 그녀는 괜찮아.
레이블의 정적지도를 열거 형 인스턴스에 저장하는 것이 좋지만, 좌절감에 따라 자바에서는 열거 형 생성자에서 정적 필드를 참조 할 수 없습니다. – skaffman
"Asset"을 작성하는 대신 Asset.class.getSimpleName()을 사용하는 이유는 무엇입니까? 리팩터링을 통해 이름을 변경 하시겠습니까? – akarnokd
문자열 대신 클래스 리터럴을 사용하는 것이 항상 좋은 습관입니까? – skaffman