[java] String class

DEVELOPERS_Ivan ㅣ 2023. 8. 10. 23:40

String class
1. 문자열 생성 방법을 이해하자
2. 상수풀 영역이라는 것을 이해 하자. (Constant Pool)
3. 값을 비교할 때는 equals 를 반드시 사용하자.

 

// 20230811_String class

 

package ch09;

 

public class StringTest1 {

public static void main(String[] args) {

 

// String

// 문자열이라는 데이터를 보관, 연산 사용

// static 영역, 데이터영역, --> 상수 풀 영역

 

String str1 = "반가워";

String str2 = new String("반가워");

String str3 = "반가워";

 

System.out.println(str1);

System.out.println(str2);

 

// 시나리오 1

if (str1 == str2) {

System.out.println("주소값이 같아요!");

} else {

System.out.println("주소값이 달라요");

}

 

// 시나리오 2

// 리터럴 방식으로 생성한 문자열은

// 이미 생성한 값이 똑같다면 새로 만들지 않고

// 재활용 한다.

if (str1 == str3) {

System.out.println("주소 같음");

} else {

System.out.println("주소 다름");

}

 

System.out.println("******************");

// 시나리오 3

str3 = "반갑습니다"; // 값을 변경

if (str1 == str3) {

System.out.println("주소 같아요~ 다시 확인");

} else {

System.out.println("주소 달라요! 다시 확인");

}

 

System.out.println("---------------------------");

// 시나리오 4

// 문자열에 값을 비교할려면 equals를 반드시 사용하세요

if (str1.equals(str2)) {

System.out.println("같은 값이에요. ");

} else {

System.out.println("다른 값이에요. ");

}

}

}