p.179 예제 - 열거 객체의 메소드
name() | ordinal() | compareTo() | valueOf | values()
package BookExampleHomework;
public class EnumMethodExample {
public static void main(String[] args) {
//name()메소드
Week today = Week.SUNDAY; //변수선언. SUNDAY란 열거상수와 today는 같은 주소값을 가지며 같은 Week 객체를 참조한다.
String name = today.name(); //today가 가지고 있는 주소값을 통해 Week객체에 접근하면, 그안의 name메소드를 통해 name이란 변수에 today가 가진 문자열(SUNDAY)을 저장한다.
System.out.println(name);
//ordinal()메소드
int ordinal = today.ordinal(); //today의 주소값을 통해 Week객체에 접근, ordinal메소드는 열거상수의 순번(0~6)을 알려준다.
System.out.println(ordinal);
//compareTo()메소드
Week day1 = Week.MONDAY; //변수를 선언해야 사용할 수 있기 때문에
Week day2 = Week.WEDNESDAY;
int result1 = day1.compareTo(day2); //day2를 기준으로 day1이 빠르면 음수 >>음
int result2 = day2.compareTo(day1); //day1 기준으로 day2가 빠르면 음수 >>양
System.out.println(result1);
System.out.println(result2);
//valueOf()메소드
if(args.length == 1) {
String strDay = args[0];
Week weekDay = Week.valueOf(strDay); //strDay의 문자열 즉 args[0]의 값을 가지는 열거객체를 리턴하여 weekDay에 저장한다.
if(weekDay == Week.SATURDAY || weekDay == Week.SUNDAY) {
System.out.println("주말이군요");
}else {
System.out.println("평일이군요");
}
}
//values()메소드
Week[] days = Week.values(); //모든 Week객체들(MONDAY~SUNDAY)을 배열로 만들어 리턴
for(Week day : days) {
System.out.println(day);
}
}
}


'Java > BookExample' 카테고리의 다른 글
Ch6 클래스 - 메소드 (0) | 2021.03.08 |
---|---|
열거 타입과 열거 상수 (0) | 2021.03.03 |
배열복사 (0) | 2021.03.02 |
add메소드와 배열생성 (0) | 2021.02.28 |
배열 속의 배열 (0) | 2021.02.28 |