본문 바로가기
[study]이론정리/JAVA(eclipse)

java 5일차_ 04. 문자열은 `==` 비교를 사용할수 없는걸까?

by yoon9i 2024. 3. 14.
package exam08_유틸리티;

public class StringTest {

	public static void main(String[] args) {
		
		// Q. 문자열은 `==` 비교를 사용할수 없는걸까?
		// hello 문자열 생성
		// 문자열을 생성할때는 리터럴 or new 이용 중에 아무건나 사용해도 된다.
		
		// 1. 리터럴 이용
		String s = "hello";
		
		// 2. new 이용
		String s2 = new String("hello");
		
		System.out.println(s);
		System.out.println(s2);
		
		// Q. s 와 s2 가 같냐? ( == s 와 s2 의 주소값이 같냐? )
		// s 와 s2 가 참조형이기 때문에 주소값을 비교한거라 false 가 된다.
		System.out.println( s==s2 ); // >> false
		
		// ==> 결론: 문자열은 `==` 비교를 사용하지 않는다.
		
		// Q. 문자열을 비교할때는?
		// equals 는 실제값을 비교하기에 문자열끼리 같은지 비교할때 사용한다.
		System.out.println( s.equals(s2)); // >> true
		
		// ==> 결론: 문자열끼리 비교할때는 equals 를 사용한다.
		
	}

}