JAVA/자바의 정석

[자바의 정석 - 기초편] 9. (2) String 클래스 ( 문자열 비교 / 문자열 리터럴 / 빈 문자열 / 생성자와 메서드 )

서영22 2023. 12. 5. 02:56

 String 클래스 

데이터(char[]) + 메서드(문자열 관련)

 

 

- 내용을 변경할 수 없는 불변(immutable) 클래스

 

- 덧셈 연산자(+)를 이용한 문자열 결합은 성능이 떨어짐

  ➔ 문자열의 결합이나 변경이 잦다면, 내용을 변경가능한 StringBuffer를 사용

 

 

 

 문자열의 비교 

equals()이용해서 내용 비교

 

 

< String str = "abc";String str = new String("abc");의 비교 >

 

 

 

 

 문자열 리터럴 

- 문자열 리터럴은 프로그램 실행시 자동으로 생성됨 (constant pool에 저장)

 

- 같은 내용의 문자열 리터럴은 하나만 만들어짐 (String은 불변이라서)

 

 

 

 빈 문자열  ("", empty string) 

내용이 없는 문자열. 크기가 0인 char형 배열을 저장하는 문자열

String str = " ";   // str을 빈 문자열로 초기화

 

 

- 크기가 0인 배열을 생성하는 것은 어느 타입이나 가능

char[ ] chArr = new char[ 0 ];   // 길이가 0인 char배열
int[ ]     iArr   = { };                    // 길이가 0인 int 배열

 

 

- 문자(char)와 문자열(String)의 초기화

String s = " ";   // 빈 문자열로 초기화
char c = ' ';   // 공백으로 초기화

 

 

 

 

 String클래스의 생성자와 메서드