250x250
syk531
하루
syk531
전체 방문자
오늘
어제
  • 분류 전체보기 (166)
    • 개발 (166)
      • java (11)
      • kotlin (7)
      • spring, spring boot (35)
      • Javascript (4)
      • Tyhmeleaf (2)
      • Kafka (17)
      • Docker (8)
      • Kubernetes (3)
      • Elastic Stack (4)
      • react native (3)
      • Web (4)
      • GIS (3)
      • 리눅스 (16)
      • Windows (2)
      • 네트워크 (2)
      • 안드로이드앱 (5)
      • git (2)
      • Tool (15)
      • 프로젝트 (7)
      • 백준알고리즘 (14)
      • DB (2)

인기 글

최근 글

블로그 메뉴

    공지사항

    태그

    • 오블완
    • 뉴스앱
    • 티스토리챌린지

    최근 댓글

    티스토리

    hELLO · Designed By 정상우.
    syk531

    하루

    개발/java

    [Enum] 여러 필드로 구성된 Enum에서 특정 값이 존재하는지 체크 하는 방법

    2024. 2. 21. 15:38
    728x90
    반응형

    아래와 같이 stringValue와 intValue로 구성된 Enum이 있습니다.

    public enum MyEnum {
        CONSTANT1("Value1", 100),
        CONSTANT2("Value2", 200);
    
        private final String stringValue;
        private final int intValue;
    
        MyEnum(String stringValue, int intValue) {
            this.stringValue = stringValue;
            this.intValue = intValue;
        }
    
        public String getStringValue() {
            return stringValue;
        }
    
        public int getIntValue() {
            return intValue;
        }
    }

     

    특정 stringValue 나 intValue가 존재하는지 체크 하기 위해서는 아래와 같이 Enum을 반복하면서 특정 값과 일치하는 필드가 있는지 체크를 하는 함수를 Enum에 추가해줍니다.

    public enum MyEnum {
        CONSTANT1("Value1", 100),
        CONSTANT2("Value2", 200);
    
        private final String stringValue;
        private final int intValue;
    
        MyEnum(String stringValue, int intValue) {
            this.stringValue = stringValue;
            this.intValue = intValue;
        }
    
        public String getStringValue() {
            return stringValue;
        }
    
        public int getIntValue() {
            return intValue;
        }
        
        //특정 stringValue 존재 여부 체크 함수
        public static boolean containsStringValue(String value) {
            for (MyEnum enumConstant : MyEnum.values()) {
                if (enumConstant.getStringValue().equals(value)) {
                    return true;
                }
            }
            return false;
        }
    
    	//특정 intValue 존재 여부 체크 함수
        public static boolean containsIntValue(int value) {
            for (MyEnum enumConstant : MyEnum.values()) {
                if (enumConstant.getIntValue() == value) {
                    return true;
                }
            }
            return false;
        }
        
    }

     

    이제 추가한 함수를 호출해주면 됩니다.

    boolean existsInString = MyEnum.containsStringValue("Value1");
    boolean existsInInt = MyEnum.containsIntValue(100);

     

    728x90
    반응형
    저작자표시 (새창열림)

    '개발 > java' 카테고리의 다른 글

    [java] byte 값과 16진수(hex)값 비교 방법  (0) 2024.05.29
    [windows + intellij] OpenJDK21 설치 방법  (0) 2024.05.28
    [Java] byte 에서 특정자리 bit 추출하는 방법  (0) 2024.02.02
    Google Bard API 사용  (0) 2023.12.02
    org.apache.commons.lang3.ObjectUtils max 함수  (0) 2023.10.06
      '개발/java' 카테고리의 다른 글
      • [java] byte 값과 16진수(hex)값 비교 방법
      • [windows + intellij] OpenJDK21 설치 방법
      • [Java] byte 에서 특정자리 bit 추출하는 방법
      • Google Bard API 사용
      syk531
      syk531
      기억을 위해 기록을.

      티스토리툴바