Programming/JAVA

[JAVA] 문자열 비교

Plone 2020. 11. 19. 11:45

자바에서 문자열 비교 방법은

==

equals()

equalsIgnoreCase()

이 있다

 

그 전에 기본자료형과 참조자료형에 대한 이해가 필요하다

기본자료형 : 변수가 다르더라도 값이 같으면 같은 주소를 가르킨다

참조형(래퍼클래스) : 값이 같더라도 다른 주소를 가르킨다

 

https://plone93.tistory.com/46

 

[JAVA] WrapperClass(래퍼 클래스)

#WrapperClass(래퍼 클래스) 자바 자료형은 기본타입(int, char, boolean..)과 참조타입(class, interface)와 같은 객체 구분된다 기본타입을 객체처럼 다루기 위해서 사용하는 것이 래퍼 클래스 이다 #특징 기

plone93.tistory.com

 

 

# == (등위연산자) : 주소값을 비교한다

String str1 = "ABCDE"; //기본 자료형
String str2 = "ABCDE";

String str3 = new String("ABCDE"); //참조형
String str4 = new String("ABCDE");

//== : 주소를 비교
if(str1 == str2) // TRUE, 기본자료형은 값이 같으면 같은 주소를 가르킨다
if(str1 == str3) // FALSE, 참조형은 값이 같더라도 다른 주소를 가르킨다

 

# equals() : 값을 비교한다, 대소문자 구분함

String str1 = "ABCDE"; //기본 자료형
String str2 = "ABCDE";

String str3 = new String("ABCDE"); //참조형
String str4 = new String("ABCDE");

//equals : 값을 비교
if(str1.equals(str2)) // TRUE, 같은 주소, 같은 값
if(str1.equals(str3)) // TRUE, 다른 주소, 같은 값

 

# equalsIgnoreCase(): 값을 비교한다, 대소문자 구분 안함

String str1 = "ABCde"; //기본 자료형
String str2 = "abcDE";

String str3 = new String("ABCde"); //참조형
String str4 = new String("abcDE");

//equalsIgnoreCase : 값을 비교, 대소문자 구분 안함
if(str1.equalsIgnoreCase(str2)) // TRUE, 같은 주소, 같은 값
if(str1.equalsIgnoreCase(str3)) // TRUE, 다른 주소, 같은 값