item 35 leekyunghee - JAVA-JIKIMI/EFFECTIVE-JAVA3 GitHub Wiki
ordinal λ©μλ λμ μΈμ€ν΄μ€ νλλ₯Ό μ¬μ©νλΌ
- μ΄κ±° νμ μμλ νλμ μ μ«κ°μ λμλλ€.
- μ΄κ±° νμ μ ν΄λΉ μμκ° κ·Έ μ΄κ±° νμ μμ λͺλ²μ§Έ μμΉμΈμ§ λ°ννλ ordinal λ©μλλ₯Ό μ 곡νλ€.
- μ΄κ±° νμ μμμ μ°κ²°λ μ μ«κ°μ΄ νμνλ©΄ ordinal λ©μλλ₯Ό μ΄μ©νκ³ μΆμ κ²½μ°κ° μλ€.
μλͺ»λ λ°©λ²
3κ°μ§ λ¨μ μ΄ λ°μ
- μ€κ°μ κ°μ λ£μ κ²½μ° κΈ°μ‘΄ λμ μμ€κ° κΌ¬μ΄κ² λλ€.
- null κ°μ λ£μ μ μλ€.
- μ€λ³΅λ μλ¦Ώμλ₯Ό κ°μ§ μ μμ λ μΈ μ μλ€.
// ordinalμ μλͺ» μ¬μ©ν μ - λ°λΌνμ§ λ§κ².
public enum Ensemble {
SOLO, DUET, TRIO, QUARTET, QUINTET,
SEXTET, SEPTET, OCTET, NONET, DECTET;
public int numberOfMusicians() { return ordinal() + 1; }
}
ν΄κ²°μ±
μ΄κ±° νμ μμμ μ°κ²°λ κ°μ ordinal λ©μλλ‘ μ»μ§ λ§κ³ μΈμ€ν΄μ€ νλμ μ μ₯νμ.
μμΉκ° μλ κ°μ΄ λλ©° μΈμ€ν΄μ€ νλλ₯Ό μ¨μ μμ±μλ₯Ό μ΄μ©ν΄ enumμ κ°μ λ£λλ€.
// μΈμ€ν΄μ€ νλμ μ μ λ°μ΄ν°λ₯Ό μ μ₯νλ μ΄κ±° νμ
(222μͺ½)
public enum Ensemble {
SOLO(1), DUET(2), TRIO(3), QUARTET(4), QUINTET(5),
SEXTET(6), SEPTET(7), OCTET(8), DOUBLE_QUARTET(8),
NONET(9), DECTET(10), TRIPLE_QUARTET(12);
private final int numberOfMusicians;
Ensemble(int size) {
this.numberOfMusicians = size;
}
public int numberOfMusicians() {
return numberOfMusicians;
}
}
ν΅μ¬ μ 리
EnumSet κ³Ό EnumMap κ°μ΄ μ΄κ±° νμ
κΈ°λ°μ λ²μ© μλ£κ΅¬μ‘°λ₯Ό μΈ λͺ©μ μ΄ μλλΌλ©΄
ordinal λ©μλλ μ¬μ©νμ§ λ§μ.