(출처. Java의 정석 책)
🍙join() & StringJoiner
- join()은 여러 문자열 사이에 구분자를 넣어서 결합
String animals = "dog,cat,bear"; String[] arr = animals.split(","); // 문자열을 ','를 구분자로 나눠서 배열에 저장 String str = String.join("_", arr); // 배열의 문자열을 '-'로 구분해서 결합 System.out.println(str); ... 결과: dog-cat-bear
🍙 문자열과 기본형 간의 변환
- 숫자 -> 문자열로 바꾸는 방법
(방법1이 편리함. but 속도는 방법2가 빠름.)int i = 100; String str1 = i + ""; // 100을 "100"으로 전환하는 방법1 String str2 = String.valueOf(i); // 방법 2
- 문자열 -> 숫자로 바꾸는 방법
int i = Integer.parseInt("100"); // "100"을 100으로 변환하는 방법1 (기본형)int i2 = Integer.valueOf("100"); // 방법2 (참조형)Intger i2 = Integer.valueOf("100"); // 원래는 반환타입이 Integer.
(valueOf가 외우기도 쉽고 직관적)
🍙StringBuffer ??
- 문자열을 저장하고 다루기 위함
- String처럼 문자형 배열(char[])을 내부적으로 가지고 있다.
- 내용을 변경할 수 있음. 가변(mutable)
(String은 내용 변경할 수 없음. 불변)🍙 StringBuffer의 생성자
- 배열은 길이 변경불가
(공간이 부족하면 새로운 배열 생성해야함)- 저장할 문자열의 길이를 고려하여 적절한 크기로 생성
🍙 StringBuffer의 비교
- equals()가 오버라이딩되어있지 않다(주소비교)
- StringBuffer를 String으로 변환 후에 equals()로 비교해야한다.
🍙 StringBuffer클래스의 생성자와 메서드
(출처. Java의 정석 책)
🍙 StringBuilder
- 동기화만 빼면 StringBuffer와 같다.
- StringBuffer는 동기화(데이터 보호)되어있다. 멀티 쓰레드에 안전(thread-safe)
- 멀티 쓰레드 프로그램이 아닌 경우, 동기화는 불필요한 성능저하
(StringBuffer 대신 StringBuilder를 사용하면 성능 향상)
- 수학관련 static메서드의 집합
(출처. Java의 정석 책)
- 8개의 기본형을 객체로 다뤄야할 때 사용하는 클래스
(출처. Java의 정석 책)
🍙 Number클래스
-모든 숫자 래퍼 클래스의 조상
(출처. Java의 정석 책)
👉 출처
자바의 정석 책