-
09 (3) String클래스Java 2023. 5. 12. 21:23반응형
String클래스
- String 클래스 = 데이터(char[ ]) + 메서드(문자열 관련)
- 문자형 배열(char[ ])과 그에 관련된 메서드 들이 정의되어 있다
- 내용을 변경할 수 없는 불변(immutable) 클래스(내용 변경이 불가능)
- 덧셈 연산자(+)를 이용한 문자열 결합은 성능이 떨어짐
>>계속 새로운 객체가 발생, 문자열은 내용을 변경 불가능하기 때문에
※ 문자열의 결합이나 변경이 잦다면,
내용을 변경가능한 StringBuffer를 사용 (내용 변경이 가능)
문자열의 비교
- String str = "abc"; 와 String str = new String("abc");의 비교
>> equals는 내용을 비교하므로 참이 나온다 반면 ==는 주소 값을 비교하므로 false 값이 나온다
문자열 리터럴
- 문자열 리터럴은 프로그램 실행시 자동으로 생성된다.(constant pool에 저장)
- 문자열 리터럴은 프로그램 실행시 자동으로 생성된다.(constant pool에 저장)
- 같은 내용의 문자열 리터럴은 하나만 만들어진다. (내용 변경 불가능)
빈 문자열 (“ ”, empty string)
- 내용이 없는 문자열. 크기가 0인 char형 배열을 저장하는 문자열
String str = " "; // str을 빈 문자열로 초기화
- 크기가 0인 배열을 생성하는 것은 어느 타입이나 가능
char[ ] chArr = new char[0]; // 길이가 0인 char배열
int[ ] iArr = { }; // 길이가 0인 int 배열
- 문자(char)와 문자열(String)의 초기화
String클래스의 생성자와 메서드
join( )과 StringJoiner
- join( )은 여러 문자열 사이에 구분자를 넣어서 결합한다.
String animals = "dog,cat,bear";
String[] arr = animals.split(","); // 문자열을 ‘,’를 구분자로 나눠서 배열에 저장
String str = String.join("-",arr); // 배열의 문자열을 ‘-’로 구분해서 결합
System.out.println(str); // dog-cat-bear
반응형'Java' 카테고리의 다른 글
10 (1) Calender 클래스 (0) 2023.05.14 09 (4) StringBuffer클래스 (0) 2023.05.13 09 (2) object클래스와 equals( ) (0) 2023.05.12 09 (1) hashCode( ) toString( ) (0) 2023.05.10 08 (2) 예외선언하기 (0) 2023.05.10