μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- golang
- Postman
- H2 μ€μΉ
- thymeleaf
- java
- Vue.js
- ν°μ€ν 리μ±λ¦°μ§
- κΈ°μ΄100μ
- κ°μ¬μ€
- go
- ν΄λ¦° μ½λ
- springboot
- Python
- mariadb
- Spring
- MySQL
- Codeup
- νμ΄μ¬
- Git
- spring security
- JPA
- μκ³ λ¦¬μ¦
- Gradle
- Spring Boot
- GitHub
- μ€νλ§
- μ€λΈμ
- 둬볡
- ν΄λ¦°μ½λ
- μ½λμ
- Today
- Total
nyximos.log
[Java] Enum λ³Έλ¬Έ
π©π λͺ©ν
μλ°μ μ΄κ±°νμ λν΄ νμ΅νμΈμ.
π©π» νμ΅ν κ²
- enum μ μνλ λ°©λ²
- enumμ΄ μ 곡νλ λ©μλ (values()μ valueOf())
- java.lang.Enum
- EnumSet
Enum Type
- μ¬λ¬ μμλ₯Ό μ μΈ ν λ νΈλ¦¬νκ² μ μΈν μ μλ λ°©λ²
- νλμ μ΄λ¦μ μμμ΄λ―λ‘ λλ¬Έμλ‘ νμνλ€.
- JDK 1.5μ μΆκ°λμλ€.
- JDK 1.5 μ΄μ μλ μμλ₯Ό μ΄κ±°ν λμ μ¬μ©νμλ€.
- μ΄κ±°ν λΆλΆμ μ μλ μμκ° μλμΌλ‘ μμ±λλ€.
- λ°λ‘ κ°μ μ§μ ν΄μ£Όμ§ μμλ μλμ μΌλ‘ 0λΆν° μμνλ μ μκ°μ΄ ν λΉλλ€. (ordinal() μ΄ μ΄κ±°ν μμκ° μ μλ μμ λ°ν)
- μ΄ μ μκ°μ λ΄λΆμ μΈ μ©λλ‘λ§ μ¬μ©λκΈ° μν κ²μ΄λΌμ μ¬μ©νμ§ μλ κ²μ΄ μ’λ€.
- μμμ κ°μ΄ λΆκ·μΉμ μΈ κ²½μ°μλ μ΄κ±°ν μμμ μ΄λ¦ μμ μνλ κ°μ κ΄νΈμ ν¨κ» μ μ΄μ€λ€.
enum μ μνλ λ°©λ²
enum ν€μλλ₯Ό μ¬μ©νλ€.
κ΄νΈ { } μμ μμμ μ΄λ¦μ λμ΄νλ€.
enum μ΄κ±°νμ΄λ¦ { μμλͺ
1, μμλͺ
2, ... }
enum Direction { EAST, SOUTH, WEST, NORTH }
μ μλ μμλ₯Ό μ¬μ©ν λλ μ΄κ±°ν.μμλͺ μΌλ‘ μ¬μ©νλ€.
ν΄λμ€μ static λ³μλ₯Ό μ°Έμ‘°νλ κ²κ³Ό λμΌνλ€.
class Unit{
int x, y;
Direction dir;
void init() {
dir = Direction.EAST;
}
}
enumμ΄ μ 곡νλ λ©μλ (values()μ valueOf())
String name( )
μ΄κ±°ν μμ μ΄λ¦μ λ¬Έμμ΄λ‘ λ°ννλ€.
int ordinal( )
μ΄κ±°ν μμκ° μ μλ μμλ₯Ό λ°ννλ€. (0λΆν° μμ)
λͺ¨λ μ΄κ±°νμ μ‘°μμΈ java.lang.Enum ν΄λμ€μ μ μλ κ²
T[ ] values( )
ν΄λΉ enumμμ μ μλ λͺ¨λ μμλ€μ λ°°μ΄λ‘ λ°ννλ€.
λͺ¨λ μ΄κ±°νμ μλμ μΌλ‘ μΆκ°ν΄μ£Όλ λ©μλ
T valueOf(Class<T> enumType, String name)
μ§μ λ enumTypeμμ nameκ³Ό μΌμΉνλ λ¬Έμμ΄ μμμ λν μ°Έμ‘°λ₯Ό λ°ννλ€.
λͺ¨λ μ΄κ±°νμ μλμ μΌλ‘ μΆκ°ν΄μ£Όλ λ©μλ
https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html
Enum (Java Platform SE 7 )
Returns the enum constant of the specified enum type with the specified name. The name must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.) Note that for a particular enum typ
docs.oracle.com
java.lang.Enum
λͺ¨λ μ΄κ±°νμ μ‘°μμ java.lang.Enumμ΄λ€.
μ€λͺ νλ λ©μλλ€μ΄ java.lang.Enum ν΄λμ€μ μ μλμ΄ μλ€.
λͺ¨λ μ΄κ±°νμ Enum ν΄λμ€λ₯Ό μμλ°κΈ° λλ¬Έμ enumμ λ€λ₯Έ κ²λ€μ μμλ°μ μ μλ€.
EnumSet
- μ΄κ±°νμ μ¬μ©νκΈ° μν Set μΈν°νμ΄μ€ ꡬν체
- Nullμ νμ©νμ§ μλλ€.
- λλΆλΆ 컬λ μ ꡬνκ³Ό λ§μ°¬κ°μ§λ‘ synchronize λμ§ μλλ€.
- λκΈ°μμΌλ‘ μ¬μ©νλ €λ©΄ μΈλΆμμ λκΈ°ννκ±°λ Collections.synchronizedSet(java.util.Set<T>) λ©μλλ₯Ό μ¬μ©νλ€.
EnumSet<E> allOf(Class<E> elementType)
μ§μ μμ νμ μ λͺ¨λ μμλ₯Ό ν¬ν¨νλ EnumSetμ μμ±νλ€.
EnumSet<E> of(@NotNull E e1, @NotNull E e2)
μ§μ ν μμλ₯Ό ν¬ν¨νλ EnumSetμ μμ±νλ€.
EnumSet<E> complementOf(@NotNull EnumSet<E> s)
μ§μ ν EnumSetκ³Ό λμΌν μμλ₯Ό κ°μ§ EnumSetμ μμ±νλ€.
EnumSet<E> range(@NotNull E from, @NotNull E to)
λ λμ μμ μ μλ λ²μμ λͺ¨λ μμλ₯Ό ν¬ν¨νλ EnumSetμ μμ±νλ€.
μμκ° λ€λ°λλ©΄ μλλ€.
EnumSet<E> noneOf(Class<E> elementType)
μ§μ ν κ°μ νμ μ λΉ EnumSetμ μμ±νλ€.
enum Coffe {
AERICANO, COLDBREW, CAPPUCCINO, LATTE, AFFOGATO, MOCHA
}
public class EnumTest {
public static void main(String[] args) {
EnumSet<Coffe> set1, set2, set3, set4, set5;
set1 = EnumSet.allOf(Coffe.class);
set2 = EnumSet.of(Coffe.LATTE, Coffe.AFFOGATO);
set3 = EnumSet.complementOf(set2);
set4 = EnumSet.range(Coffe.AERICANO, Coffe.CAPPUCCINO);
set5 = EnumSet.noneOf(Coffe.class);
set5.add(Coffe.COLDBREW);
set5.add(Coffe.MOCHA);
System.out.println("set1 = " + set1);
System.out.println("set2 = " + set2);
System.out.println("set3 = " + set3);
System.out.println("set4 = " + set4);
System.out.println("set5 = " + set5);
}
}
set1 = [AERICANO, COLDBREW, CAPPUCCINO, LATTE, AFFOGATO, MOCHA]
set2 = [LATTE, AFFOGATO]
set3 = [AERICANO, COLDBREW, CAPPUCCINO, MOCHA]
set4 = [AERICANO, COLDBREW, CAPPUCCINO]
set5 = [COLDBREW, MOCHA]
https://docs.oracle.com/javase/7/docs/api/java/util/EnumSet.html
EnumSet (Java Platform SE 7 )
A specialized Set implementation for use with enum types. All of the elements in an enum set must come from a single enum type that is specified, explicitly or implicitly, when the set is created. Enum sets are represented internally as bit vectors. This r
docs.oracle.com
μ°Έμ‘°
https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
'Programming > JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] I/O (1) | 2022.09.21 |
---|---|
[Java] μ λ Έν μ΄μ (1) | 2022.09.11 |
[Java] λ©ν°μ°λ λ νλ‘κ·Έλλ° (0) | 2022.09.06 |
[Java] μμΈ μ²λ¦¬ (0) | 2022.09.01 |
[Java] μΈν°νμ΄μ€ (1) | 2022.08.29 |