[Java] enum 클래스
enum 클래스는 의미있는 심볼릭 상수를 정의하고 싶을 때 많이 사용된다.
enum 클래스에서 심볼릭 상수를 정의할 때, 어떤 불규칙한 값을 담고 싶다면 불규칙한 값들을 담을 수 있는 변수와 생성자를 선언해줘야 한다.
다음은 케릭터 정보에 대한 열거형 상수를 만드는 예제.
public enum CharacterInfoType {
CHARACTER_INFO_TYPE_NONE(""),
CHARACTER_INFO_TYPE_CHARACTER_NAME("characterName"),
CHARACTER_INFO_TYPE_CHARACTER_STATUS("characterStatus"),
CHARACTER_INFO_TYPE_LOCATION("location");
@Getter private String type;
CharacterInfoType(String type) {
this.type = type;
}
private static CharacterInfoType find(Predicate<CharacterInfoType> predicate) {
return Arrays.stream(values())
.filter(predicate)
.findAny()
.orElse(CHARACTER_INFO_TYPE_NONE);
}
public static CharacterInfoType fromType(Integer type) {
return find(e -> Objects.equals(e.type, type));
}
public static CharacterInfoType fromString(String enumName) {
return find(e -> Objects.equals(e.toString(), enumName));
}
}
java.lang.Enum 클래스
Enum 클래스는 Java에서 모든 열거형들의 부모 클래스이다.
따라서, Enum 클래스에 정의된 기능들을 사용할 수 있다.
'Programming > Java' 카테고리의 다른 글
[Java] .jar와 .war (0) | 2020.03.20 |
---|---|
[Java] 람다와 스트림 ( Lambda, Stream ) (0) | 2020.03.05 |
[Java] default 메서드 (0) | 2020.01.29 |
[Java] Scanner 클래스를 이용한 입/출력 (0) | 2019.12.29 |
[Java] 네트워크 프로그래밍 (0) | 2019.12.25 |
댓글
이 글 공유하기
다른 글
-
[Java] .jar와 .war
[Java] .jar와 .war
2020.03.20 -
[Java] 람다와 스트림 ( Lambda, Stream )
[Java] 람다와 스트림 ( Lambda, Stream )
2020.03.05 -
[Java] default 메서드
[Java] default 메서드
2020.01.29 -
[Java] Scanner 클래스를 이용한 입/출력
[Java] Scanner 클래스를 이용한 입/출력
2019.12.29