1) 스트링버퍼
아무 값도 가지고 있지 않은 StringBuffer객체를 생성
- 출력결과 : hello world
StringBuffer가 가지고 있는 메소드들은 대부분 자기 자신, this를 반환
- 자기 자신의 메소드를 호출하여 자기 자신의 값을 바꿔나가는 것을 메소드체이닝 이라고 한다.
- StringBuffer클래스는 메소드 체인 방식으로 사용할 수 있도록 만들어져 있다.
- 앞에서 5줄로 작성했던 코드를 위와 같이 한 줄로 수정할 수 있습니다.
- StringBuffer는 append메소드 외에도 길이를 구하거나, 자르거나 등의 다양한 메소드들을 가지고 있습니다.
2) 스트링 클래스의 문제점
String클래스는 문자열을 다룰때 사용하는 클래스
String클래스는 불변클래스 이다.
실행결과
- 기존의 str1은 전혀 변화 없다.
- substring메소드는 5번째 부터 문자열을 잘라서 새로운 문자열을 반환하는 메소드
- str1자체는 전혀 변화가 없다.
String클래스를 사용할 때 가장 문제가 발생하는 경우는 다음과 같은 코드를 사용할 때 입니다.
- 실행결과
문자열과 문자열을 더하게 되면 내부적으로는 다음과 같은 코드가 실행
String str4 = new StringBuffer().append(str1).append(str2).toString(); System.out.println(str4);
문자열을 반복문 안에서 더하는 것은 성능상 문제가 생길 수 있으니 반드시 피하도록 합시다.
'JAVA' 카테고리의 다른 글
27. 컬렉션 프레임 워크 (1) (1) | 2021.03.29 |
---|---|
26. Math (0) | 2021.03.29 |
24. java.lang 패키지/오토박싱 (0) | 2021.03.29 |
23. 사용자 정의 Exception (0) | 2021.03.29 |
22. 예외처리 (0) | 2021.03.29 |