item 35 hyowon - JAVA-JIKIMI/EFFECTIVE-JAVA3 GitHub Wiki
[item35] ordinal λ©μλ λμ μΈμ€ν΄μ€ νλλ₯Ό μ¬μ©νλΌ
λλΆλΆμ μ΄κ±° νμ μμλ μμ°μ€λ½κ² νλμ μ μ«κ°μ λμλκ³ ,
μ΄κ±° νμ μ ν΄λΉ μμκ° κ·Έ μ΄κ±° νμ μμ λͺ λ²μ§Έ μμΉμΈμ§λ₯Ό λ°ννλ ordinalμ΄λΌλ λ©μλλ₯Ό μ 곡νλ€.
κ·Έλ¬λ μ΄ λ©μλλ₯Ό μ¬μ©νμ§ λ§μ.
public enum Ensemble {
SOLO, DUET, TRIO, QUARTET, QUINTET,
SEXTET, SEPTET, OCTET, NONTET, DECTET;
public int numberOfMusicians() { return ordinal() + 1; }
}
λμμ νμ§λ§ μ μ§λ³΄μνκΈ° λμ°ν μ½λ!
- μμ μ μΈ μμλ₯Ό λ°κΎΈλ μκ° numberOfMusiciansκ° μ€λμνλ€.
- μ΄λ―Έ μ¬μ©μ€μΈ μ μκ°μ λ€λ₯Έ μμλ₯Ό μΆκ°ν μ μλ€.(μ: μ°μ£Όμκ° λλ€ 8λͺ μΈ 8μ€μ£Ό(Octet), 볡4μ€μ£Ό(double quartet)λ₯Ό λμμ μ μΈ λΆκ°)
- κ°μ μ€κ°μ λΉμλ μ μλ€. (μ: 1, 2, 5 (X))
ν΄κ²°μ±
μ΄κ±° νμ μμμ μ°κ²°λ κ°μ ordinal λ©μλλ₯Ό μ¬μ©νλ λμ μΈμ€ν΄μ€ νλμ μ μ₯νλ€.
public enum Ensemble {
SOLO(1), DUET(2), TRIO(3), QUARTET(4), QUINTET(5),
SEXTET(6), SEPTET(7), OCTET(8), DOUBLE_QUARTET(8),
NONTET(9), DECTET(10), TRIPLE_QUARTET(12);
public final int numberOfMusicians;
Ensemble(int size) { this.numberOfMusicians = size; }
public int numberOfMusicians() { return numberOfMusicians; }
}
"λλΆλΆ νλ‘κ·Έλλ¨Έλ μ΄ λ©μλλ₯Ό μΈ μΌμ΄ μλ€. μ΄ λ©μλλ EnumSetκ³Ό EnumMap κ°μ΄ μ΄κ±° νμ κΈ°λ°μ λ²μ© μλ£κ΅¬μ‘°μ μΈ λͺ©μ μΌλ‘ μ€κ³λμλ€." - Enum API documentation