- Java 8μ λλ€κ° λμ
λκΈ° μ΄μ μλ, λ©μλμ
νΉμ νμλ₯Ό μννλ ν¨μ νμμ λκΈ°κΈ° μν΄μΈν°νμ΄μ€λ₯Ό μ¬μ© - μ€μ argumentλ‘ λκΈ°λ κ²μ
μ΄ μΈν°νμ΄μ€λ₯Ό ꡬνν μ΅λͺ ν΄λμ€
public interface Comparable<T> {
public int compareTo(T o);
}public static void main(String[] args) {
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return String.CASE_INSENSITIVE_ORDER.compare(s1, s2);
}
});
}- μμ
Comparableκ°μ μΈν°νμ΄μ€λ₯Όν¨μν μΈν°νμ΄μ€λΌκ³ ν¨- ν¨μν μΈν°νμ΄μ€λ, λ¨ νλμ λ©μλλ§μ κ°λ μΈν°νμ΄μ€
- μ΄ ν¨μν μΈν°νμ΄μ€λ Java 8 μ΄νλ‘ λλ€ λ°©μμΌλ‘ λ체 κ°λ₯
public static void main(String[] args) {
Collections.sort(list, (s1, s2) -> String.CASE_INSENSITIVE_ORDER.compare(s1, s2));
}- μ΄ λ λ§€κ°λ³μμ νμ
μ μ»΄νμΌλ¬κ° contextμ λ°λΌ μΆλ‘
- μΆλ‘ μ μ€ν¨νλ κ²½μ° μ»΄νμΌ μ€λ₯λ₯Ό λ°μμν€κ³ , μ΄ λμλ κ°λ°μκ° λͺ μν΄μ€μΌ ν¨
μλμ κ²½μ°λ₯Ό μ μΈν κ²½μ°μλ ν¨μν μΈν°νμ΄μ€λ₯Ό λλ€λ‘ λ체νλ κ²μ΄ μ’μ
- λλ€λ μ΄λ¦μ΄ μμΌλ©°(μ΅λͺ ), λ¬Έμνν μ μμ
- λ°λΌμ νλμ λλ€ λ΄μμ μ½λ μ€ μκ° λ§μμ§λ©΄ μ€νλ € κ°λ
μ±μ μ νμν¬ μ μμ
- μ΅λ μΈ μ€ μμ λλ΄κ³ , λΆκ°λ₯νλ€λ©΄ λλ€λ₯Ό μ¬μ©νμ§ μλ μͺ½μ κ³ λ €ν΄μΌ ν¨
- λλ€λ
ν¨μν μΈν°νμ΄μ€λ§ λ체ν μ μμ - λ°λΌμ μΆμ ν΄λμ€μ μΆμ λ©μλλ₯Ό ꡬνν΄ μΈμλ‘ λκΈ°λ €κ³ ν λλ, λ©μλκ° μ¬λ¬ κ°μΈ μΈν°νμ΄μ€/μΆμ ν΄λμ€μ ꡬν체λ₯Ό λκ²¨μΌ ν λμλ μ΅λͺ ν΄λμ€λ₯Ό μ¬μ©ν΄μΌ ν¨
- λλ€ ν¨μμ thisλ μ΅λͺ
ν΄λμ€μ λ°κΉ₯ μΈμ€ν΄μ€λ₯Ό κ°λ¦¬ν΄
- λλ€λ ν¨μλ‘ μ·¨κΈλκΈ° λλ¬Έ
- μ΅λͺ
ν΄λμ€μ thisλ μ΅λͺ
ν΄λμ€ μμ μ κ°λ¦¬ν΄
- μ΅λͺ ν΄λμ€λ ν΄λμ€λ‘ μ·¨κΈλκΈ° λλ¬Έ
- λ°λΌμ, thisλ₯Ό ν΅ν΄ μκΈ° μμ μ μ°Έμ‘°λ₯Ό μ΄μ©ν΄μΌ νλ μ½λμΈ κ²½μ°μλ μ΅λͺ ν΄λμ€λ₯Ό μ¬μ©ν΄μΌ ν¨
- λλ€μ μ§λ ¬ν ννλ ꡬνλ³(ex: κ°μλ¨Έμ λ³)λ‘ λ€λ₯Ό μ μμ
- λ°λΌμ, μ§λ ¬νν΄μΌ νλ€λ©΄ λ°λμ λλ€ λμ ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μ¬μ©ν΄μΌ ν¨