산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

자바 열거형

자바 열거형

이 자습서에서는 Java의 열거형에 대해 배웁니다. 예제를 통해 열거형 및 열거형 클래스를 만들고 사용하는 방법을 배웁니다.

자바에서 enum(enumeration의 줄임말)은 고정된 상수 값 집합이 있는 유형입니다. enum을 사용합니다. 열거형을 선언하는 키워드. 예를 들어,

enum Size { 
   SMALL, MEDIUM, LARGE, EXTRALARGE 
}

여기에서 Size라는 이름의 열거형을 만들었습니다. . 고정 값 SMALL을 포함합니다. , 중간 , 대형EXTRALARGE .

중괄호 안의 이러한 값을 열거형 상수(값)라고 합니다.

참고: 열거형 상수는 일반적으로 대문자로 표시됩니다.

<시간>

예제 1:자바 열거형

enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

class Main {
   public static void main(String[] args) {
      System.out.println(Size.SMALL);
      System.out.println(Size.MEDIUM);
   }
}

출력

SMALL
MEDIUM

위의 예에서 볼 수 있듯이 enum 이름을 사용하여 상수 값에 액세스합니다.

또한 열거형 유형의 변수를 생성할 수 있습니다. 예를 들어,

Size pizzaSize;

여기 피자 크기 크기의 변수입니다. 유형. 4개의 값만 할당할 수 있습니다.

pizzaSize = Size.SMALL;
pizzaSize = Size.MEDIUM;
pizzaSize = Size.LARGE;
pizzaSize = Size.EXTRALARGE;
<시간>

예제 2:switch 문이 있는 Java Enum

enum Size {
 SMALL, MEDIUM, LARGE, EXTRALARGE
}

class Test {
 Size pizzaSize;
 public Test(Size pizzaSize) {
   this.pizzaSize = pizzaSize;
 }
 public void orderPizza() {
   switch(pizzaSize) {
     case SMALL:
       System.out.println("I ordered a small size pizza.");
       break;
     case MEDIUM:
       System.out.println("I ordered a medium size pizza.");
       break;
     default:
       System.out.println("I don't know which one to order.");
       break;
   }
 }
}

class Main {
 public static void main(String[] args) {
   Test t1 = new Test(Size.MEDIUM);
   t1.orderPizza();
 }
}

출력

I ordered a medium size pizza.

위의 프로그램에서 열거형 Size를 생성했습니다. . 그런 다음 pizzaSize 변수를 선언했습니다. 크기 유형.

여기에서 변수 pizzaSize 4개의 값만 할당할 수 있습니다(SMALL , 중간 , 대형 , 매우 큼 ).

진술을 주목하십시오.

Test t1 = new Test(Size.MEDIUM);

Test()을 호출합니다. 테스트 내부의 생성자 수업. 이제 변수 pizzaSize MEDIUM이(가) 할당됩니다. 일정합니다.

해당 값을 기준으로 switch case 문의 case 중 하나를 실행합니다.

<시간>

자바의 열거형 클래스

Java에서 열거형 유형은 특수한 유형의 클래스로 간주됩니다. Java 5 릴리스와 함께 도입되었습니다.

열거형 클래스에는 일반 클래스와 마찬가지로 메서드와 필드가 포함될 수 있습니다.

enum Size {
    constant1, constant2, …, constantN;

    // methods and fields	
}

열거형 클래스를 만들 때 컴파일러는 각 열거형 상수의 인스턴스(객체)를 만듭니다. 또한 모든 열거형 상수는 항상 public static final입니다. 기본적으로.

<시간>

예제 3:자바 열거형 클래스

enum Size{
  SMALL, MEDIUM, LARGE, EXTRALARGE;

  public String getSize() {

    // this will refer to the object SMALL
    switch(this) {
      case SMALL:
        return "small";

      case MEDIUM:
        return "medium";

      case LARGE:
        return "large";

      case EXTRALARGE:
        return "extra large";

      default:
        return null;
      }
   }

  public static void main(String[] args) {

    // call getSize()
    // using the object SMALL
    System.out.println("The size of the pizza is " + Size.SMALL.getSize());
  }
}

출력

The size of the pizza is small

위의 예에서 열거형 클래스 Size를 만들었습니다. . 4개의 상수 SMALL가 있습니다. , 중간 , 대형EXTRALARGE .

크기 이후 열거형 클래스인 경우 컴파일러는 각 열거형 상수에 대한 인스턴스를 자동으로 생성합니다.

여기 main() 내부 메소드에서 SMALL 인스턴스를 사용했습니다. getSize()를 호출하려면 방법.

참고 :일반 클래스와 마찬가지로 열거형 클래스에도 생성자가 포함될 수 있습니다. 자세한 내용은 Java 열거형 생성자를 방문하십시오.

<시간>

자바 Enum 클래스의 메소드

열거형 클래스에는 즉시 사용할 수 있는 몇 가지 미리 정의된 메서드가 있습니다.

1. 자바 열거형 서수()

ordinal() 메서드는 열거형 상수의 위치를 ​​반환합니다. 예를 들어,

ordinal(SMALL) 
// returns 0

2. 열거형 compareTo()

compareTo() 메서드는 서수 값을 기반으로 열거형 상수를 비교합니다. 예를 들어,

Size.SMALL.compareTo(Size.MEDIUM)
 // returns ordinal(SMALL) - ordinal(MEDIUM)

3. 열거형 toString()

toString() 메서드는 열거형 상수의 문자열 표현을 반환합니다. 예를 들어,

SMALL.toString()
// returns "SMALL"

4. 열거형 이름()

name() 메서드는 문자열 형식으로 열거형 상수의 정의된 이름을 반환합니다. name()에서 반환된 값 메소드는 final입니다. . 예를 들어,

name(SMALL)
// returns "SMALL"

5. 자바 열거형 valueOf()

valueOf() 이 메소드는 문자열을 받아서 동일한 문자열 이름을 가진 열거형 상수를 반환합니다. 예를 들어,

Size.valueOf("SMALL")
// returns constant SMALL.

6. 열거형 값()

values() 메서드는 모든 열거형 상수를 포함하는 열거형 유형의 배열을 반환합니다. 예를 들어,

Size[] enumArray = Size.value();
<시간>

자바 열거형이 필요한 이유

Java에서 열거형은 int 상수의 사용을 대체하기 위해 도입되었습니다. .

int 컬렉션을 사용했다고 가정합니다. 상수.

class Size {
   public final static int SMALL = 1;
   public final static int MEDIUM = 2;
   public final static int LARGE = 3;
   public final static int EXTRALARGE = 4;
}

여기서 상수를 인쇄하면 문제가 발생합니다. 도움이 되지 않을 수 있는 숫자만 인쇄되어 있기 때문입니다.

따라서 int 상수를 사용하는 대신 단순히 열거형을 사용할 수 있습니다. 예를 들어,

enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

이것은 우리의 코드를 더 직관적으로 만듭니다.

또한 enum은 컴파일 시간 유형 안전성을 제공합니다. .

Size 변수를 선언하면 유형. 예를 들어,

Size size;

여기에서 변수는 4가지 값 중 하나를 보유하게 됩니다. 이제 이 네 가지 값이 아닌 다른 값을 전달하려고 하면 컴파일러에서 오류가 발생합니다.


java

  1. C 열거
  2. 자바 연산자
  3. 자바 주석
  4. 자바 for-each 루프
  5. 자바 문자열
  6. 자바 인터페이스
  7. 자바 익명 클래스
  8. 자바 열거형
  9. 자바 열거형 생성자
  10. 자바 열거형 문자열