>  기사  >  Java  >  Java 열거 사용에 대한 자세한 요약

Java 열거 사용에 대한 자세한 요약

WBOY
WBOY앞으로
2022-03-30 18:19:082412검색

이 기사는 열거형의 개념, 열거형의 장점과 단점, 일반적인 열거형 방법 등 열거형 사용과 관련된 문제를 주로 소개하는 java에 대한 관련 지식을 제공합니다.

Java 열거 사용에 대한 자세한 요약

추천 학습: "java tutorial"

1. 기본 개념

열거는 Java 1.5에 도입된 새로운 기능입니다. 열거 클래스는 키워드 enum을 통해 정의됩니다. 열거형 클래스는 일반 클래스와 마찬가지로 생성자를 사용할 수 있고 멤버 변수 및 메서드를 정의할 수 있으며 하나 이상의 인터페이스를 구현할 수도 있습니다. 그러나 열거형 클래스는 다른 클래스를 상속할 수 없습니다.

2. 열거형의 장점과 단점

1. 장점

효율성 Java에서 모든 상수 코드를 열거형으로 대체하는 것을 권장하는 이유는 다음과 같습니다.

(1) 타입 확인, 유효성 확인

(2 ) 클래스로서 열거형은 고유한 속성(일반적으로 상수여야 하지만 저는 그렇지 않은 상황을 본 적이 없습니다)과 고유한 메서드(그렇지 않으면 스위치로만 작성할 수 있습니다. 이는 실제로 다음 규칙을 위반합니다) 원칙)

(3) 그리고 상수와 비교하면, 문서와 소스코드를 확인하지 않고도 가능한 모든 반환값을 직접 알 수 있어 코딩에 편리하다.

그러나 여기서 문제는 첫 번째 점에 있습니다. 사실 분산 환경에서는 (1)이 불가피하지 않습니다. 인터페이스의 반환 값이 비즈니스 처리에서 정의되지 않은 콘텐츠를 가질 수 있도록 허용되면 역직렬화 중에 예외가 발생해서는 안 되며 (1)을 고수할 필요가 없습니다. 동시에, (2)와 (3)의 점을 보면, 열거형의 사용 범위를 제한하는 것의 영향은 엄청납니다. 고유한 속성과 메서드를 갖는 열거형을 코드와 다른 메서드의 조합으로 다시 작성하려면 훨씬 더 많은 코드가 필요하고 코드 손상 정도도 크게 높아집니다.

2. 단점

(1) Java는 단일 상속을 지원하므로 열거형을 다른 클래스에서 상속할 수 없습니다.

(2) 열거형을 반환 값으로 사용하면 발생할 수 있는 문제 ​​​​사실 누구나 클라이언트와 서버 버전이 일치하지 않으면 deserialization 예외가 발생하므로 "Alibaba JAVA 개발 매뉴얼"에서는 이 문제를 예외를 방지하도록 시도하므로 열거형을 반환 값으로 정의하는 것을 금지합니다. .

3. Ifelse 해결

비즈니스 개발에 있어서 비즈니스 로직의 복잡성은 불가피합니다. 비즈니스가 발전함에 따라 요구 사항은 점점 더 복잡해지기 때문에 코드에서는 불가피합니다. if-else가 많이 있을 겁니다.

코드에 if-else가 너무 많으면 가독성과 유지 관리 가능성에 큰 영향을 미치고 코드가 매우 낮게 표시됩니다.
Java 열거 사용에 대한 자세한 요약
열거형은 이 문제를 해결할 수 있습니다.

열거형 및 스위치와 관련하여 조건부 판단을 위해 스위치를 사용할 때 조건 매개변수는 일반적으로 정수 또는 문자 유형만 가능합니다. 열거형 유형은 실제로 스위치에서 지원됩니다. Java 1.7 이후에는 스위치도 문자열을 지원합니다. 여기에서는 스위치 및 열거 유형의 사용을 간략하게 살펴봅니다.

static void testSwitch(Week week){
    switch (week){
        case MONDAY:
            System.out.println(week.getMeaning());
            break;
        case TUESDAY:
            System.out.println(week.getMeaning());
            break;
        case WEDNESDAY:
            System.out.println(week.getMeaning());
            break;
        case THURSDAY:
            System.out.println(week.getMeaning());
            break;
        case FRIDAY:
            System.out.println(week.getMeaning());
            break;
        case SATURDAY:
            System.out.println(week.getMeaning());
            break;
        case SUNDAY:
            System.out.println(week.getMeaning());
            break;
        default:
            System.out.println("您输入有误");
            break;
    }}

넷째, 일반적인 열거 방법

Java 열거 사용에 대한 자세한 요약

권장 학습: "java 학습 튜토리얼"

위 내용은 Java 열거 사용에 대한 자세한 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제