문자열 선언방법 비교

wnstjq·2023년 2월 14일
0

java

목록 보기
1/5
post-thumbnail

문자열을 선언하는 2가지 방법

String

String text = "포도";
  • 특징 : String 데이터를 불변의 클래스로 설정한다
  • 단점 : 새로운 인스턴스를 계속 생성한다

new 연산자 사용

String text = new String("포도");
  • 특징 : new 연산자를 통해 String 클래스를 선언하며, 변경 및 연결 시 성능이 좋다
  • 단점 : 변경이 없을 시 불필요하게 이중으로 인스턴스를 생성한다

public class StringTest
{
    public static void main(String[] args)
    {
        String str1 = new String("abc");
        String str2 = new String("abc");
        
        System.out.println(str1 == str2); //서로 다른 인스턴스에 저장
        
        String str3 = "abc";
        String str4 = "abc";
        // Runtime Constant Pool에 저장되서 같은 메모리를 공유함
        System.out.println(str3 == str4); 
       
    }
}
false
true
  • new 생성자를 사용하면 서로 다른 인스턴스, 즉 Heap 메모리에 저장하기 때문에 False
  • String을 사용하면 같은 메모리, 즉 Runtime Constant Pool에 저장되기 때문에 True
profile
공부방

0개의 댓글