카테고리 없음
Java String literal & Java String Pool
devwriter
2023. 2. 18. 01:49
예상해 보기
public class DemoApplication {
public static void main(String[] args) {
String a = new String("Hello");
String b = new String("Hello");
System.out.println(a == b);
String c = "Hello";
String d = "Hello";
System.out.println(c == d);
}
}
IntelliJ IDEA
opt + enter를 누르면 String literal 로 변환된다.
정답
- System.out.println(a == b) : false
- System.out.println(c == d) : true
설명
String literal 은 Java String Pool 에 생성되고 동일한 문자열은 동일한 주소를 할당 받는다.
new String 은 매번 새로운 힙메모리를 사용한다.
권장
IntelliJ Idea도 권장하듯이 String 은 literal 로 사용합니다.