꾸준히 기록하자

[Java] StringUtils.equals() 본문

IT/Java

[Java] StringUtils.equals()

seungwonlee 2022. 9. 15. 10:38
728x90

StringUtils.equals()에 대해 알아보겠습니다.

 

먼저 equals()는 문자열을 비교하는 method입니다.

java Object Class들 중에서 자주 사용하고 있는 equals() method가 있습니다.

 

StringUtils에서도 equals() method를 사용할 수 있습니다.

StringUtils.class안에 method들 중 아래와 같은 method로 선언되어있는 걸 확인해 볼 수 있습니다.

public static boolean equals(final CharSequence cs1, final CharSequence cs2) {
    if (cs1 == cs2) {
        return true;
    }
    if (cs1 == null || cs2 == null) {
        return false;
    }
    if (cs1.length() != cs2.length()) {
        return false;
    }
    if (cs1 instanceof String && cs2 instanceof String) {
        return cs1.equals(cs2);
    }
    // Step-wise comparison
    final int length = cs1.length();
    for (int i = 0; i < length; i++) {
        if (cs1.charAt(i) != cs2.charAt(i)) {
            return false;
        }
    }
    return true;
}

StringUtils 클래스를 사용하기 위해 아래와 같이  import 해줍니다.

import org.apache.commons.lang3.StringUtils;

아래 예제를 통해 확인해야 할 부분은 String 변수에 null값이 있을 경우의 상황 있습니다.

StringUtils.equals()는 예외처리 없이 결과 false를 출력하고 다음 코드를 진행합니다.

java object class의 equals()는 java.lang.NullPointerException 예외처리를 하여 다음 코드를 진행하지 않습니다.

String a = null;
String b = "String";
String c = "String";


System.out.println(a.equals(b));
// 결과 : java.lang.NullPointerException
System.out.println(b.equals(a));
// 결과: false
System.out.println(b.equals(c));
// 결과: true

System.out.println(StringUtils.equals(a, b));
// 결과: false
System.out.println(StringUtils.equals(b, a));
// 결과: false
System.out.println(StringUtils.equals(b, c));
// 결과: true

StringUtils.equals()에 대해 알아보았습니다.

 

끝.

반응형

'IT > Java' 카테고리의 다른 글

[Java] Good Coding (PMD)  (0) 2022.12.27
[Java] distinct()  (0) 2022.12.15
[Java] Iterator()  (0) 2022.11.02
[Java] contains()  (0) 2022.06.30
[Java] isEmpty()  (0) 2022.06.17
Comments