21.01.12-35일차

되자개발자·2021년 4월 4일
0

기록하기

목록 보기
34/46
post-thumbnail

🍱 Java.lang패키지


🍘 String 클래스

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

(출처. 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클래스

🍙StringBuffer ??

  • 문자열을 저장하고 다루기 위함
  • String처럼 문자형 배열(char[])을 내부적으로 가지고 있다.
  • 내용을 변경할 수 있음. 가변(mutable)
    (String은 내용 변경할 수 없음. 불변)

🍙 StringBuffer의 생성자

  • 배열은 길이 변경불가
    (공간이 부족하면 새로운 배열 생성해야함)
  • 저장할 문자열의 길이를 고려하여 적절한 크기로 생성

🍙 StringBuffer의 비교

  • equals()가 오버라이딩되어있지 않다(주소비교)
  • StringBuffer를 String으로 변환 후에 equals()로 비교해야한다.

🍙 StringBuffer클래스의 생성자와 메서드

(출처. Java의 정석 책)

🍙 StringBuilder

  • 동기화만 빼면 StringBuffer와 같다.
  • StringBuffer는 동기화(데이터 보호)되어있다. 멀티 쓰레드에 안전(thread-safe)
  • 멀티 쓰레드 프로그램이 아닌 경우, 동기화는 불필요한 성능저하
    (StringBuffer 대신 StringBuilder를 사용하면 성능 향상)

🍘 Math클래스

  • 수학관련 static메서드의 집합
    (출처. Java의 정석 책)

🍘 래퍼(wrapper)클래스

  • 8개의 기본형을 객체로 다뤄야할 때 사용하는 클래스
    (출처. Java의 정석 책)

🍙 Number클래스

-모든 숫자 래퍼 클래스의 조상
(출처. Java의 정석 책)

👉 출처

자바의 정석 책

profile
열심히가 되는 길♨_♨

0개의 댓글