-
Java | str.equals() & str.contentEquals() 비교JAVA/JAVA 2020. 1. 21. 17:10
str.equals() & str.contentEquals() Method 비교
str.equals()
str변수의 문자열과 매개변수의 문자열 값이 같다면 true를 반환하는 메소드
매개변수의 객체가 String의 인스턴스인지도 확인함
즉, String 객체와 StringBuffer 객체의 문자열을 비교할 수 없음※ 인스턴스(instance) : 클래스를 사용하여 만든 객체를 인스턴스라고 함, 객체와 동일한 단어라고 할 수 있음
str.contentEquals()
str변수의 문자열과 매개변수의 문자열의 값이 정확히 일치하면 true를 반환하는 메소드
매개변수의 객체가 String의 인스턴스인지는 확인하지 않고 내용만 비교함
즉, String 객체를 StringBuffer / StringBuilder / Char Array 객체들과 비교 가능public class StrMethod { public static void main(String[] args) { String a = "abc"; String b = "abc"; StringBuffer c = new StringBuffer("abc"); // str.quals() 메소드 System.out.println(a.equals(b)); // true System.out.println(a.equals(c)); // false // str.contentEquls() 메소드 System.out.println(a.contentEquals(b)); // true System.out.println(a.contentEquals(c)); // true } }
StringBuffer Class
String 클래스의 인스턴스는 한 번 생성되면 읽기만 할 수 있고 변경은 불가,
StringBuffer 클래스의 인스턴스는 그 값을 변경할 수 있고, 추가도 할 수 있음
- StringBuffer 클래스는 내부적으로 buffer(버퍼)라고 하는 독립적인 공간을 가짐
- 버퍼 크기의 기본값은 16개의 문자를 저장할 수 있는 크기이며,
생성자를 통해 크기를 별도로 설정할 수 있음 - 인스턴스 생성시 사용자가 설정한 크기보다 언제나 16개의 문자를
더 저장할 수 있도록 여유있는 크기로 생성됨
거의 비슷해 보이는 메소드인 str.equals()와 str.contentEquals()를 비교해보았습니다.
equals()는 String 끼리의 문자열이 동일한 지 확인할 때 사용하고,
contentEquals()는 String과 다른 객체와의 문자열이 동일한 지를 확인할 때도 사용이 가능하다는 것이 핵심입니다.
StringBuffer 클래스에 대해서는 자세히 다루지 않고 문맥을 이해할 수 있을 정도로만 참조했습니다.
자세한 내용이 궁금하신 분들은 아래의 주소로 방문해 보시기 바랍니다.
참고 사이트 주소 : http://tcpschool.com/java/java_api_stringBuffer
'JAVA > JAVA' 카테고리의 다른 글
Java | Constructor 생성자 (0) 2020.01.22 Java | Encapsulation 캡슐화 & 접근 제어자 & set(), get() (0) 2020.01.21 Java | Object 개요 & 생성, 사용 (0) 2020.01.20 Java | Abstraction 추상화 & Class 개요 및 생성 (0) 2020.01.20 Java | OOP(객체 지향 프로그래밍) 개요 & Method (0) 2020.01.20