[JAVA] String 클래스

hi·2022년 1월 18일
0

선언 방법

  1. 문자열을 생성자의 매개변수로 하여 생성
    String str1 = new String ("abc");

    : "abc"문자열을 위한 메모리가 할당되고 새로운 객체가 생성

  2. 이미 생성된 문자열 상수를 가리키는 방식
    String str2 = "test";

    : 기존 "test" 문자열 상수의 메모리 주소를 가리킨다

concat( )... 사용시

두 문자열을 연결할 때,
문자열은 불변하므로 변수의 값이 변하는게 아니라 새로운 문자열이 생성된다

StringBuilder , StringBuffer

  • String 클래스는 한 번 생성되면 값 변경 x , 새로운 객체가 만들어진다 👉 메모리 낭비

  • StringBuilder, StringBuffer 클래스는 내부에
    변경 가능한 char[ ]를 가지고 있어 배열이 확장되므로 메모리 사용 x

차이점

StringBuilder : 싱글 스레드 -> 속도 향상
StringBuffer : 멀티 스레드 -> 동기화 보장

문자열이 안전하게 변경되도록 보장 유무 차이

0개의 댓글