반응형
해당 강의를 듣고 정리한 것입니다
https://programmers.co.kr/learn/courses/9
스트링 버퍼
: 아무 값도 가지고 있지 않은 StringBuffer객체.
(String클래스는 불변, StringBuffer는 변하는 클래스)
public class StringBufferExam {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append("Hello");
sb.append(" ");
sb.append("world");
String str = sb.toString();
System.out.println(str);
}
}
>> Hello world
체인 메서드
: 자기 자신을 리턴하여 계속해 자신의 메서드를 호출하는 방식
StringBuffer가 가지고 있는 메서드들은 대부분 자기 자신, this를 반환함.
public class StringBufferExam {
public static void main(String[] args) {
StringBuffer sb2 = new StringBuffer();
StringBuffer sb3 = sb2.append("hello");
// sb2가 가지고있는 append 메서드는 this가 반환이 됨. 이를 sb3에 저장한것
// 그러므로 sb2 와 sb3는 똑같음
// 이를 메서드 체이닝(Method Chaining이라고 부름
// 메서드 체이닝 :자기자신의 리턴하여 계속하여 자신의 메서드를 호출하는 방식
if(sb2 == sb3) {
System.out.println("sb2 == sb3");
}
}
}
- 자기 자신의 메서드를 호출하여 자기 자신의 값을 바꿔나가는 것을 메서드 체이닝이라고 함.
- StringBuffer클래스는 메서드 체인 방식으로 사용할 수 있도록 만들어져 있다.
체인 메서드의 방식으로 처음에 작성한 코드를 해당 방법으로 한 줄로 생성할 수 있음.
String str2 = new StringBuffer().append("hello").append(" ").append("World").toString();
System.out.print(str2);
>> hello World
- StringBuffer는 append메서드 이외에도 길이를 구하거나, 자르거나 등의 다양한 메서드를 가지고 있음.
- 자세한 내용은 https://docs.oracle.com/javase/7/docs/api/java/lang/StringBuffer.html에서 확인 가능
반응형
'Language > Java' 카테고리의 다른 글
자바 중급5 - Math클래스 (0) | 2022.01.15 |
---|---|
자바 중급4 - 스트링 클래스 문제점 (0) | 2022.01.14 |
자바 중급2 - java.lang 패키지/오토박싱 (0) | 2022.01.14 |
자바 중급1 - Object클래스, equals, toString, hashcode (0) | 2022.01.13 |
자바 입문하기20 - 문제풀기)약수의 합 (0) | 2022.01.12 |