HomeBlogGuestbookLab 

JDM's Blog

온갖 테스트 결과가 기록되는 이곳은 JDM's Blog입니다. :3

Java enum Examples

Enum Type

보통 열거형이라고 합니다. String 클래스와 마찬가지로 불변의 객체이기도 합니다. 상수의 집합을 만들거나 특정 객체의 상태를 모아서 열거형으로 만들면 코드의 가독성이 좋아질 수 있습니다.

Java enum Examples

간단하게 자바 enum에 대해 코드로 살펴봅시다.

The basic enum usage

기본적인 enum 사용법입니다.

import org.junit.Test;

public class EnumTest {
    /** Case 1. The basic enum usage */
    public enum Person {
        JDM, LHR
    }

    @Test
    public void testPerson(){
        Person person = Person.JDM;

        /**
         * .name() method return value is "enum constant name".
         */
        System.out.println(person.name()); // print 'JDM'

        /**
         * .ordinal() method return value is "index order".
         */
        System.out.println(person.ordinal()); // print '0'
    }
}

The complex usage on short syntax enum

enum에 추가적인 필드를 구성하고 싶으면 아래처럼 사용합니다.

import org.junit.Test;

public class EnumTest {
    /** Case 2. The complex usage on short syntax enum */
    public enum CommandEnum {
        START("start", "opt"),
        STOP("stop", "opt"); // watch out. need semi-colon.

        private String command;
        private String opt;

        CommandEnum(String command, String opt){
            this.command = command;
            this.opt = opt;
        }
        public String getCommand(){ return this.command; }
        public String getOpt(){ return this.opt; }
    }

    @Test
    public void testCommandEnum(){
        CommandEnum commandEnum = CommandEnum.START;

        switch( commandEnum ) {
            case START:
                System.out.println(commandEnum.name()); // print 'START'
                System.out.println(commandEnum.getCommand()); // print 'start'
                System.out.println(commandEnum.getOpt()); // print 'opt'
                // do something...
                break;
            case STOP:
                // do something...
                break;
        }
        // do something...
    }
}