TIL

23.01.17 TIL String 리터럴과 new의 차이

YunH2 2023. 1. 18. 01:15

오늘 한 일

  • 백준 3문제 풀기
  • spring강의 듣기

공부하면서 궁금한 점

String 리터럴

String str = "홍길동" 으로 생성하는 방식

 

Heap영역의 String contents Pool이라는 곳에 저장이 되는데 들어가기전 중복된 문자열이 있는지

확인하고, 있다면 해당 주소값을 공유 없다면 새로운 문자열을 만들어 저장 후 그 주소값을 가져와 사용한다

 

매번 새로운 객체를 만들지 않아 좀더 효율적으로 사용할 수 있다.

 

String new

String str = new String("홍길동") 으로 생성하는 방식

 

Heap memory에 새 문자열 객체를 생성하며 같은 문자열이 있어도 새로운 독립된 객체를 생성한다.

즉, 가지고 있는 값이 같아도 주소값이 다르다.

 

출처 : https://www.javatpoint.com/string-pool-in-java


 내일 할 일

  • 백준 3문제 풀기
  • java강의 듣기