[Java] String Class

nathan·2022년 2월 28일
0

JAVA

목록 보기
43/45

String Class

  • 문자열을 다루기 위한 클래스
  • String 클래스 = 데이터(char[]) + 메서드(문자열 관련)로 이루어져있다.
public final class String implements java.io.Serializable, Comparable<String>, CharSequence {
    /** The value is used for character storage. */
    private final char value[];
}
  • 내용을 변경할 수 없는 불변(immutable) 클래스이다.
    • 따라서 덧셈 연산자(+)를 이용한 문자열 결합은 성능이 떨어진다.
    • 문자열의 결합이나 변경이 잦다면, 내용 변경이 용이한 StringBuilderStringBuffer를 사용하자.

문자열의 비교

  • String을 new 연산자를 이용하여 만드는 것과 그냥 리터럴 값을 할당하는 것의 차이
  • new 연산자를 사용하면 String Constant Pool에 무조건 새로운 객체를 생성하게 된다.
  • 문자열 리터럴은 프로그램 실행시 자동으로 생성된다.(String Constant Pool)
    • 이 때 같은 내용의 문자열 리터럴은 하나만 만들어진다.
    • (불변객체이므로 내용이 바뀔 위험이 없기 때문에 하나만 만들어져도 상관 없다)

빈 문자열("", empty string)

  • 내용이 없는 문자열
  • 크기가 0인 char형 배열을 저장하는 문자열
String str = ""; // str을 빈 문자열로 초기화
  • 참고 : 크기가 0인 배열을 생성하는 것은 어느 타입이나 가능하다.

Reference

profile
나는 날마다 모든 면에서 점점 더 나아지고 있다.

0개의 댓글