이 기사는 열거형의 개념, 열거형의 장점과 단점, 일반적인 열거형 방법 등 열거형 사용과 관련된 문제를 주로 소개하는 java에 대한 관련 지식을 제공합니다.
추천 학습: "java tutorial"
열거는 Java 1.5에 도입된 새로운 기능입니다. 열거 클래스는 키워드 enum을 통해 정의됩니다. 열거형 클래스는 일반 클래스와 마찬가지로 생성자를 사용할 수 있고 멤버 변수 및 메서드를 정의할 수 있으며 하나 이상의 인터페이스를 구현할 수도 있습니다. 그러나 열거형 클래스는 다른 클래스를 상속할 수 없습니다.
효율성 Java에서 모든 상수 코드를 열거형으로 대체하는 것을 권장하는 이유는 다음과 같습니다.
(1) 타입 확인, 유효성 확인
(2 ) 클래스로서 열거형은 고유한 속성(일반적으로 상수여야 하지만 저는 그렇지 않은 상황을 본 적이 없습니다)과 고유한 메서드(그렇지 않으면 스위치로만 작성할 수 있습니다. 이는 실제로 다음 규칙을 위반합니다) 원칙)
(3) 그리고 상수와 비교하면, 문서와 소스코드를 확인하지 않고도 가능한 모든 반환값을 직접 알 수 있어 코딩에 편리하다.
그러나 여기서 문제는 첫 번째 점에 있습니다. 사실 분산 환경에서는 (1)이 불가피하지 않습니다. 인터페이스의 반환 값이 비즈니스 처리에서 정의되지 않은 콘텐츠를 가질 수 있도록 허용되면 역직렬화 중에 예외가 발생해서는 안 되며 (1)을 고수할 필요가 없습니다. 동시에, (2)와 (3)의 점을 보면, 열거형의 사용 범위를 제한하는 것의 영향은 엄청납니다. 고유한 속성과 메서드를 갖는 열거형을 코드와 다른 메서드의 조합으로 다시 작성하려면 훨씬 더 많은 코드가 필요하고 코드 손상 정도도 크게 높아집니다.
(1) Java는 단일 상속을 지원하므로 열거형을 다른 클래스에서 상속할 수 없습니다.
(2) 열거형을 반환 값으로 사용하면 발생할 수 있는 문제 사실 누구나 클라이언트와 서버 버전이 일치하지 않으면 deserialization 예외가 발생하므로 "Alibaba JAVA 개발 매뉴얼"에서는 이 문제를 예외를 방지하도록 시도하므로 열거형을 반환 값으로 정의하는 것을 금지합니다. .
비즈니스 개발에 있어서 비즈니스 로직의 복잡성은 불가피합니다. 비즈니스가 발전함에 따라 요구 사항은 점점 더 복잡해지기 때문에 코드에서는 불가피합니다. if-else가 많이 있을 겁니다.
코드에 if-else가 너무 많으면 가독성과 유지 관리 가능성에 큰 영향을 미치고 코드가 매우 낮게 표시됩니다.
열거형은 이 문제를 해결할 수 있습니다.
열거형 및 스위치와 관련하여 조건부 판단을 위해 스위치를 사용할 때 조건 매개변수는 일반적으로 정수 또는 문자 유형만 가능합니다. 열거형 유형은 실제로 스위치에서 지원됩니다. 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 열거 사용에 대한 자세한 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!