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("다른 값이에요. ");
}
}
}
'Java' 카테고리의 다른 글
[java] Object 클래스 - 모든 클래스의 최상위 클래스 (0) | 2023.08.11 |
---|---|
[java] 인터페이스 (0) | 2023.08.10 |
[java] 추상 클래스의 응용 - 템플릿 메서드 패턴 (0) | 2023.08.10 |
[java] 추상 클래스 (0) | 2023.08.10 |
[java] 기초 연습 (0) | 2023.08.10 |