java
이 자습서에서는 Java의 열거형에 대해 배웁니다. 예제를 통해 열거형 및 열거형 클래스를 만들고 사용하는 방법을 배웁니다.
자바에서 enum(enumeration의 줄임말)은 고정된 상수 값 집합이 있는 유형입니다. enum
을 사용합니다. 열거형을 선언하는 키워드. 예를 들어,
enum Size {
SMALL, MEDIUM, LARGE, EXTRALARGE
}
여기에서 Size라는 이름의 열거형을 만들었습니다. . 고정 값 SMALL을 포함합니다. , 중간 , 대형 및 EXTRALARGE .
중괄호 안의 이러한 값을 열거형 상수(값)라고 합니다.
참고: 열거형 상수는 일반적으로 대문자로 표시됩니다.
<시간>
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;
<시간>
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
입니다. 기본적으로.
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 열거형 생성자를 방문하십시오.
<시간>열거형 클래스에는 즉시 사용할 수 있는 몇 가지 미리 정의된 메서드가 있습니다.
ordinal()
메서드는 열거형 상수의 위치를 반환합니다. 예를 들어,
ordinal(SMALL)
// returns 0
compareTo()
메서드는 서수 값을 기반으로 열거형 상수를 비교합니다. 예를 들어,
Size.SMALL.compareTo(Size.MEDIUM)
// returns ordinal(SMALL) - ordinal(MEDIUM)
toString()
메서드는 열거형 상수의 문자열 표현을 반환합니다. 예를 들어,
SMALL.toString()
// returns "SMALL"
name()
메서드는 문자열 형식으로 열거형 상수의 정의된 이름을 반환합니다. name()
에서 반환된 값 메소드는 final
입니다. . 예를 들어,
name(SMALL)
// returns "SMALL"
valueOf()
이 메소드는 문자열을 받아서 동일한 문자열 이름을 가진 열거형 상수를 반환합니다. 예를 들어,
Size.valueOf("SMALL")
// returns constant SMALL.
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
자바 열거 맵 이 자습서에서는 예제를 통해 Java EnumMap 클래스와 해당 작업에 대해 알아봅니다. EnumMap Java 컬렉션 프레임워크의 클래스는 열거형 요소에 대한 맵 구현을 제공합니다. EnumMap에서 , 열거형 요소는 키로 사용됩니다. . 지도 인터페이스를 구현합니다. EnumMap에 대해 알아보기 전에 , Java Enums에 대해 알아야 합니다. EnumMap 만들기 열거형 맵을 생성하려면 java.util.EnumMap을 가져와야 합니다. 먼저 패키지. 패키지를 가져온 후 Java에서 열거형 맵
자바 EnumSet 이 튜토리얼에서는 예제를 통해 Java EnumSet 클래스와 다양한 메소드에 대해 알아볼 것입니다. EnumSet Java 컬렉션 프레임워크의 클래스는 단일 열거형 요소의 집합 구현을 제공합니다. EnumSet에 대해 배우기 전에 Java Enum에 대해 알아야 합니다. Set 인터페이스를 구현합니다. EnumSet 생성 열거형 세트를 생성하려면 java.util.EnumSet를 가져와야 합니다. 먼저 포장하십시오. 다른 집합 구현과 달리 열거 집합에는 공용 생성자가 없습니다. 열거형 집합을 생