어제 오늘 내일

[Java] 대소문자 구분없이 문자열 비교하기 본문

IT/Java

[Java] 대소문자 구분없이 문자열 비교하기

hi.anna 2021. 5. 4. 08:24

 

대소문자 구분없이 문자열 비교하기

  1. equalsIgnoreCase()
  2. compareToIgnoreCase()
  3. 대문자로 변환해서 비교하기

 

 

1. equalsIgnoreCase()

  코드  

public class StringEqaulsIgnoreCase {
    public static void main(String[] args) {
        
        String str1 = "hello";
        String str2 = "Hello";

        // 대소문자 상관없이 비교하기
        if (str1.equalsIgnoreCase(str2)) {
            System.out.println("Same"); // Same
        }
    }
}

  결과  

Same

equalsignoreCase() 메소드는 

대소문자 구분없이 문자열을 비교하고, 같으면 true를 리턴합니다.

 

 

 

2. compareToIgnoreCase()

  코드  

public class StringEqaulsIgnoreCase {
    public static void main(String[] args) {
        
        String str1 = "hello";
        String str2 = "Hello";

        // 대소문자 상관없이 비교하기
        if (str1.compareToIgnoreCase(str2) == 0) {
            System.out.println("Same");  // Same
        }
    }
}

  결과  

Same

compareToIgnoreCase() 메소드는

대소문자 구분없이 문자열을 비교하고,

str1과  str2가 같으면 0,

str1이 str2보다 작으면 음수,

str1이 str2보다 크면 양수를 리턴합니다.

 

 

 

3. 대문자로 변환해서 비교하기

  코드  

public class StringEqaulsIgnoreCase {
    public static void main(String[] args) {

        String str1 = "hello";
        String str2 = "Hello";

        String upperStr1 = str1.toUpperCase();
        String upperStr2 = str2.toUpperCase();

        // 대소문자 상관없이 비교하기 (equals)
        if (upperStr1.equals(upperStr2)) {
            System.out.println("Same");  // Same
        }

        // 대소문자 상관없이 비교하기 (compareTo)
        if (upperStr1.compareTo(upperStr2) == 0) {
            System.out.println("Same");  // Same
        }
    }
}

  결과  

Same
Same

equalsIgnoreCase(), compareIgnoreCase() 이 메소드를 사용하지 않고,

equals(), compareTo() 메소드를 사용해서, 대소문자 구분없이 비교하려면, 

문자열을 toUppserCase()를 사용하여 모두 대문자로 변환한 후 비교하거나,

toLowerCase() 메소드를 사용하여 소문자로 변환한 수 비교하면 됩니다.

 


 

대소문자 구분없이 문자열을 비교하는 방법을 알아보았습니다.

 

 

반응형
Comments