찾다

 >  Q&A  >  본문

java - enum이 무엇인가요? 어떻게 사용하나요?

실제 현상

예상되는 현상

  1. 문서에서 발췌한 독단적인 답변은 거부하세요(시간이 중요합니다)

  2. enum에 대한 깊은 이해를 찾고 있습니다(적어도 실제 제작 환경에서는 많은 코드를 작성했습니다)!

참고: 저는 프로그래밍 초보자가 아닙니다. 일부 기본 개념에는 대중 과학이 필요하지 않습니다

컨텍스트

我想大声告诉你我想大声告诉你2775일 전707

모든 응답(7)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-05-17 10:03:51

    1. 유형의 안전성을 보장하기 위해 주문 상태, 문서 유형 등과 같은 유형 상수를 정의하는 대신 사용할 수 있습니다.
      예를 들어 일반 String 클래스를 사용하여 주문 상태를 나타내는 경우 호출자는 다음과 같은 문자열을 전달할 수 있습니다. 은(는) 수신자에게 주문 상태 범위 내에 있지 않습니다. 이런 오류는 컴파일 단계에서 찾을 수 없습니다

    2. Java 열거형 클래스는 본질적으로 다중 인스턴스 패턴의 구현이며, 싱글톤 패턴은 다중 인스턴스 패턴의 특별한 경우입니다

    3. Enumeration 클래스는 상속될 수 없습니다. 예를 들어 enumA 확장 enumB는 사용할 수 없습니다.

    4. 내부 유형이 순서대로 포함된 열거형 클래스는 Comparable 인터페이스를 구현합니다.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-17 10:03:51

    Effective Java 6장에 자세한 설명이 있으니 확인해보세요

    회신하다
    0
  • 高洛峰

    高洛峰2017-05-17 10:03:51

    단순히 enum을 Remark 정보가 포함된 int 유형으로 생각하면 됩니다.

    회신하다
    0
  • 漂亮男人

    漂亮男人2017-05-17 10:03:51

    당신의 상황이 무서워서 제 개인적인 생각만 말씀드리겠습니다

    enum은 일부 액세스 가능 및 공개 상수를 포함하는 특수 클래스로 간주될 수 있습니다. 실제로는 액세스 가능하고 공개 상수로서 클래스 로딩 프로세스 중에 상수 풀로 구문 분석되었습니다. 사용자가 상수를 사용할 때 상수의 의미를 더 쉽게 표시할 수 있도록 합니다. 동시에 특정 유형의 모든 상수를 반복하고 스위치 문 등에 사용하여 상수 구성을 용이하게 합니다.

    회신하다
    0
  • 習慣沉默

    習慣沉默2017-05-17 10:03:51

    이 질문은 너무 광범위하고 대답하기 어렵습니다.
    enum은 기본적으로 java.lang.Enum을 상속하는 클래스이며 싱글톤 및 입력이 제한되어야 하는 경우에 사용할 수 있습니다

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-17 10:03:51

    먼저 개인적인 피상적이고 주관적인 이해에 대해 이야기하고 몇 가지 아이디어를 제공하겠습니다.

    제 생각에 enum의 목적은 다음과 같습니다.

    • 상수 관리 수단을 제공하세요.

    • 네임스페이스.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-17 10:03:51

    enum의 존재 자체는 상수의 가독성 문제를 해결하기 위한 것입니다. enum이 없기 전에는 상태를 표시하기 위해 1, 2 등의 가독성이 좋지 않은 경우가 많았습니다. 긴 문장을 작성하기 위해 이 일련의 문제를 해결하기 위해 jdk5에 이 함수가 추가되었습니다. 본질은 클래스이지만, 열거형을 생성할 때 자동으로 value(), ordinal() 및 기타 메서드를 생성하고, 상수가 나타날 시나리오를 다루는 스위치 문을 지원하므로 상수를 직접 정의하는 것보다 사용하기가 더 편리합니다. .

    회신하다
    0
  • 취소회신하다