1. equals
public boolean equals(Object anObject)
: 문자열을 비교합니다.
: 자바 클래스의 최상위 클래스인 Object 클래스의 equals()를 재정의해서 객체의 번지 비교가 아닌 문자열을 비교합니다.
: 대소문자를 구분하여 같은지 비교합니다.
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String aString = (String)anObject;
if (coder() == aString.coder()) {
return isLatin1() ? StringLatin1.equals(value, aString.value)
: StringUTF16.equals(value, aString.value);
}
}
return false;
}
예시
String apple1 = "apple";
String apple2 = new String("apple");
String apple3 = "APPLE";
System.out.println(apple1.equals(apple2)); // true
System.out.println(apple1.equals(apple3)); // false
2. equalsIgnoreCase
public boolean equalsIgnoreCase(String anotherString)
: 문자열을 비교합니다.
: 대소문자를 구분하지 않고 비교합니다.
예시
String apple1 = "apple";
String apple2 = "APPLE";
String apple3 = "AppLe";
System.out.println(apple1.equalsIgnoreCase(apple2)); // true
System.out.println(apple1.equalsIgnoreCase(apple3)); // true
3. contentEquals
public boolean contentEquals(CharSequence cs)
public boolean contentEquals(StringBuffer sb)
: String 객체와 CharSequence 인터페이스를 구현한 객체 혹은 StringBuffer 객체의 문자열을 비교합니다.
: 대소문자를 구분하여 비교합니다.
CharSequence 인터페이스
: char 값을 처리하는 인터페이스
: 구현 클래스로는 String, StringBuilder, StringBuffer 등이 있습니다.
예시
String apple = "apple";
StringBuilder stringBuilder1 = new StringBuilder();
stringBuilder1.append("apple");
StringBuilder stringBuilder2 = new StringBuilder();
stringBuilder2.append("APPLE");
StringBuffer stringBuffer1 = new StringBuffer();
stringBuffer1.append("apple");
StringBuffer stringBuffer2 = new StringBuffer();
stringBuffer2.append("APPLE");
System.out.println(apple.contentEquals(stringBuilder1)); // true ( contentEquals(CharSequence cs) )
System.out.println(apple.contentEquals(stringBuilder2)); // false ( contentEquals(CharSequence cs) )
System.out.println(apple.contentEquals(stringBuffer1)); // true ( contentEquals(StringBuffer sb) )
System.out.println(apple.contentEquals(stringBuffer2)); // false ( contentEquals(StringBuffer sb) )
4. compareTo
public int compareTo(String anotherString)
: 두 문자열 값을 비교하여 정수 값을 반환합니다.
: 대소문자를 구분하여 비교합니다.
: 같을 경우 0 반환
: 다를 경우 특별한 연산? 비교를 통해서 정수 또는 음수 값 반환
예시
String apple1 = "apple";
String apple2 = new String("apple");
String apple3 = "APPLE";
String apple4 = "appl";
String apple5 = "app";
String banaba = "banana";
System.out.println(apple1.compareTo(apple2)); // 0 (같음)
System.out.println(apple1.compareTo(apple3)); // 32 (a = 97, A = 65 아스키 코드값 차이)
System.out.println(apple1.compareTo(apple4)); // 1 (문자열 길이 차이)
System.out.println(apple1.compareTo(apple5)); // 2 (문자열 길이 차이)
System.out.println(apple1.compareTo(banaba)); // -1 (a = 97, b = 98 아스키 코드값 차이)
5. compareToIgnoreCase
public int compareToIgnoreCase(String str)
: 두 문자열 값을 비교하여 정수 값을 반환합니다.
: 대소문자를 구분하지 않고 비교합니다.
: 같을 경우 0 반환
: 다를 경우 특별한 연산? 비교를 통해서 정수 또는 음수 값 반환
예시
String apple1 = "apple";
String apple2 = new String("apple");
String apple3 = "APPLE";
String apple4 = "appl";
String apple5 = "app";
String banaba = "banana";
System.out.println(apple1.compareToIgnoreCase(apple2)); // 0 (같음)
System.out.println(apple1.compareToIgnoreCase(apple3)); // 0 (대소문자 무시 = 같음)
System.out.println(apple1.compareToIgnoreCase(apple4)); // 1 (문자열 길이 차이)
System.out.println(apple1.compareToIgnoreCase(apple5)); // 2 (문자열 길이 차이)
System.out.println(apple1.compareToIgnoreCase(banaba)); // -1 (a = 97, b = 98 아스키 코드값 차이)
'Backend > Java' 카테고리의 다른 글
[Java] 문자열 인덱스 위치로 자르기(substring) (0) | 2022.05.08 |
---|---|
[Java] 문자열 특정 구분자로 쪼개기(split) (0) | 2022.05.07 |
[Java] 특정 문자로 시작하거나 끝나는지 확인하기(startsWith, endsWith) (0) | 2022.05.05 |
[Java] 문자열의 공백 제거하기(trim, strip, replace) (0) | 2022.05.04 |
[Java] 문자열 값이 비어있는지 확인하기(isEmpty, isBlack, hasText) (0) | 2022.05.03 |