Item 61. Primitive Type & Boxed Primitive Type
λ°μ±λ κΈ°λ³Έ νμ 보λ€λ κΈ°λ³Έ νμ μ μ¬μ©νλΌ
μλ°μ λ°μ΄ν° νμ
μ ν¬κ² κΈ°λ³Έ νμ
κ³Ό μ°Έμ‘° νμ
μΌλ‘ λλλλ°, κ°κ° κΈ°λ³Έ νμ
μλ λμνλ μ°Έμ‘° νμ
μ΄ μ‘΄μ¬νλ€.
μ΄λ₯Ό λ°μ±λ κΈ°λ³Έ νμ
μ΄λΌκ³ νλ€.(μ: int
-> Integer
)
μ΅μ μλ°μμλ μ€ν λ°©μ λ° μ€ν μΈλ°μ± λλΆμ λ νμ
μ ꡬλΆνμ§ μκ³ μ¬μ©ν μ μμ§λ§, μ€μ λ‘λ ν¬κ² μΈ κ°μ§ μ°¨μ΄μ μ΄ μ‘΄μ¬νλ€.
κΈ°λ³Έ νμ μ κ°λ§ κ°μ§κ³ , λ°μ±λ κΈ°λ³Έ νμ μ κ°μ λν΄ μλ³μ±μ΄λΌλ μμ±μ κ°λλ€.
λ°μ±λ κΈ°λ³Έ νμ μ λ μΈμ€ν΄μ€μ κ°μ΄ κ°μλ λ€λ₯΄λ€κ³ μλ³λ μ μμ
κΈ°λ³Έ νμ μ νμ μ ν¨ν κ°μ κ°μ§ μ μμ§λ§, λ°μ±λ νμ μ nullableμ΄λ€.
κΈ°λ³Έ νμ μ΄ λ°μ±λ κΈ°λ³Έ νμ λ³΄λ€ μκ°κ³Ό λ©λͺ¨λ¦¬ μ¬μ©λ©΄μμ ν¨μ¨μ μ΄λ€.
λ€μμ 2λ²μΌλ‘ μΈν΄ λ°μν μ μλ λ¬Έμ λ₯Ό 보μ¬μ£Όλ μμμ΄λ€.
μλ‘ λ€λ₯Έ κ°μ λ£μμ λλ μ μμ μΌλ‘ λμνμ§λ§, κ°μ κ°μ λ£μμ λλ 1μ΄ μλ 0μ΄ λμ¨λλ°, λ€μκ³Ό κ°μ΄ μ€νλκΈ° λλ¬Έμ΄λ€.
naturalOrder.compare(new Integer(59), new Integer(59))
κ° μ€νλλ©΄μ μλ‘ λ€λ₯Έ λ κ°μInteger
μΈμ€ν΄μ€ μμ±(i < j)
μμλ κΈ°λ³Έ νμ κ°μΌλ‘ λ³νλμ΄ μ€νλμ΄false
κ° λ°νλμ΄(i == j ? 0 : 1)
μ΄ μ€νλ¨(i == j)
μμλ μΈμ€ν΄μ€κ° κ°μμ§ λΉκ΅λμ΄false
κ° λ°νλμ΄1
μ΄ λ°νλ¨
μ΄μ²λΌ λ°μ±λ κΈ°λ³Έ νμ
μ ==
μ°μ°μλ₯Ό μ¬μ©νλ©΄ μνμ§ μλ κ²°κ³Όκ° λμ¬ μ μλ€.
λλ¬Έμ λΉκ΅ν λλ equals
λ©μλλ₯Ό μ¬μ©ν΄μΌ νλ©°, λΉκ΅μλ₯Ό μμ²λΌ μ§μ λ§λλ κ²λ³΄λ€λ Comparator.naturalOrder()
λ₯Ό μ¬μ©νλ κ²μ΄ μ’λ€.
λ°μ± νμ
κ³Ό κΈ°λ³Έ νμ
μ νΌμ©ν΄μ μ¬μ©ν λμ μ£Όμμ
λ°μ± νμ μ κΈ°λ³Έ νμ κ³Ό νΌμ©λ μ°μ°μμλ λ°μ± νμ μ΄ μλμΌλ‘ μΈλ°μ± λκΈ° λλ¬Έμ νμ μ£Όμν΄μΌ νλ€.
μ μ½λμμ i
κ° null
λ‘ μ΄κΈ°ν λμ΄ μμ§λ§, κΈ°λ³Έ νμ
μΈ 59
μ λΉκ΅ν λ μλμΌλ‘ μΈλ°μ±λμ΄ NullPointerException
μ΄ λ°μνκ² λλ€.
λ°μ±νμ
μ μ¬μ©ν΄μΌ νλ κ²½μ°
λ°μ± νμ μ μ±λ₯ λ¬Έμ λ λΉκ΅μ μμ΄μ λ¬Έμ κ° λ°μν μ μμ§λ§, λ€μκ³Ό κ°μ κ²½μ°μλ μ¬μ©νλ κ²μ΄ μ’λ€.
컬λ μ μ μμ, ν€, κ°μΌλ‘ μ¬μ©ν λ
컬λ μ μ κΈ°λ³Έ νμ μ λ΄μ μ μμΌλ―λ‘ λ°μ± νμ μ μ¬μ©ν΄μΌ νλ€.
맀κ°λ³μν νμ μ΄λ 맀κ°λ³μν λ©μλμ νμ 맀κ°λ³μλ‘ μ¬μ©ν λ
λ§μ°¬κ°μ§λ‘ νμ 맀κ°λ³μμλ κΈ°λ³Έ νμ μ μ¬μ©ν μ μμΌλ―λ‘ λ°μ± νμ μ μ¬μ©ν΄μΌ νλ€.
리νλ μ μ ν΅ν΄ λ©μλλ₯Ό νΈμΆν λ
μ΄ μΈμλ λΉ κ°μ΄λΌλ κ²μ λͺ ννκ² ννν΄μΌ ν λλ λ°μ± νμ μ μ¬μ©νλ κ²μ΄ μ’λ€κ³ νλ€.
Last updated
Was this helpful?