2023.10.31 - [JAVA] - [JAVA] enum type (1)
enum 상수 연산 및 메서드
- enum 상수 값은 동등비교연산자(==)로 일치 여부ㅜ 비교 가능하며, swirtch~case 문에도 enum 타입 비교가 가능함
- enum 타입 상수에는 각각 ordinal(순서번호) 값이 자동부여됨 => 0부터 부여됨 => enum 객체의 ordinal() 메서드를 통해 얻을 수 있음
EnumWeek today = EnumWeek.WEDNESDAY;
if(today==EnumWeek.WEDNESDAY) {
System.out.println("수요일입니다!");
} else {
System.out.println("수요일이 아닙니다!");
}
//enum 타입 객체는 switch문에 전달 가능
switch(today) {
// case문을 사용하여 enum 상수를 지정하면 비교 가능
//=> 주의! enum타입명.상수가 아닌 그냥 상수 자체를 비교
case MONDAY: System.out.println("월요일입니다!"); break;
case TUESDAY: System.out.println("화요일입니다!"); break;
case WEDNESDAY: System.out.println("수요입니다!"); break;
case THURSDAY: System.out.println("목요일입니다!"); break;
case FRIDAY: System.out.println("금요일입니다!"); break;
case SATURDAY: System.out.println("토요일입니다!"); break;
case SUNDAY: System.out.println("일요일입니다!"); break;
}
ordinal() : 상수의 순서번호를 정수로 리턴
System.out.println("오늘의 ordinal 값: " + today.ordinal());
if(today.ordinal()<4) {
System.out.println("수업 언제 끝나나..");
} else if(today.ordinal()==4) {
System.out.println("불금이댯!");
} else {
System.out.println("주말이댯!");
}
결과:
오늘의 ordinal 값: 2
수업 언제 끝나나..
name() : 상수명을 문자열로 리턴
String strToday = today.name();
System.out.println(strToday);
결과: WEDNESDAY
enum Month {
JANUARY("1월"), FEBUARY("2월");
private String monthKor;
private Month(String monthKor) {
}
➡️달 이름을 문자열로 전달받아 초기화
➡️일반적인 상수가 아닌 객체로 관리된다.
'JAVA' 카테고리의 다른 글
[JAVA] 제네릭(Generic, 일반화) - 2 (1) | 2023.10.31 |
---|---|
[JAVA] 제네릭(Generic, 일반화) - 1 (0) | 2023.10.31 |
[JAVA] enum type (1) (1) | 2023.10.31 |
[JAVA] 날짜 및 시각 정보에 대한 형식화(Formatting) (0) | 2023.10.25 |
[JAVA] java.time 패키지 (0) | 2023.10.25 |