-
[자바/java] enum 열거형개발/자바 2021. 3. 29. 17:58
- 상수 열거형 클래스
- 다양한 메소드 지원, 소스간결화, 뚜렷한 목적성 등등
- 클래스 내부, 외부, 별도 정의 모두 가능
public enum BoardType { notice, free; }
public void main(String args[]){ BoardType type = BoardType.free; System.out.println(type); }
-> 기본적인 사용법, 당연히 정의해 놓은 notice나 free만 가능하다
public enum BoardType { notice("공지사항"), //생성자 스스로 호출 free("자유게시판"); private String value; BoardType(String value){ this.value = value; } public String getValue(){ return this.value; } }
-> 클래스이니 생성자도 사용가능하다. (private 만 가능)
free("공지사항", 1) 이런식으로 2개 이상도 가능하다. 당연히 생성자의 매개변수도 맞춰줘야 한다.
Static
MethodsvalueOf(String arg) String 값을 enum에서 가져옴. 값이 없으면 예외 발생 valueOf(Class<T> class, String arg) 넘겨받은 class에서 String찾아, enum에 가져옴.
valueOf(String arg)는 내부적으로 자기자신 Class를 가져옴.values() eum의 요소들을 순서대로 enum타입의 배열로 리턴.
(ENUM$VALUES)의 카피임으로 자주 호출하지 않길Static이 아닌
Methodsname() 호출된 값의 이름을 String으로 리턴. ordinal() 해당 값이 enum에 정의된 순서를 리턴. compareTo(E o) enum과 지정된 객체의 순서를 비교. 지정된 객체보다 작은 경우
음의 정수, 동일하면 0, 크면 양의 정수 리턴equals(Object other) 지정된 객체가 enum 정수와 같은경우, true를 리턴. '개발 > 자바' 카테고리의 다른 글
자바 컬렉션 정리 (Collection) (0) 2021.11.09 [자바/java] 클래스 생성자 패턴 3가지 (점층적, 빈즈, 빌더) (0) 2021.10.26 [자바/java] 배열,리스트 정렬 (Comparable, Comparator) (0) 2021.08.27 [자바/java] try-with-resources (0) 2021.05.26 [자바/java] 자바 기본서 헷갈리는것들 정리 (0) 2021.05.26