언어 자료구조 알고리즘/디딤돌 Java 언어 Part1

[Java] 6.3.2 StringBuffer 클래스의 append 멤버 메서드

언제나휴일 2016. 11. 20. 16:22
반응형

6.3.2 StringBuffer 클래스의 append 멤버 메서드


출간일 2016년 11월 28일

판매가 2000원

형태 ebook


이 책의 모든 내용은 http://ehpub.co.kr에 공개하고 있습니다.

학습에 도움이 되시면 ebook을 구입하여 소장하시면 감사하겠습니다.

언제나 휴일 출판사의 수익금의 대부분은 아프리카에 기부하고 있습니다.



      StringBuffer 클래스이 append 멤버 메서드는 문자열 끝에 특정 값을 추가할 때 사용합니다.

StringBuffer append(boolean value)

StringBuffer append(char value)

StringBuffer append(char[] sarr)

StringBuffer append(char[] sarr, int offset, int len)

StringBuffer append(double value)

StringBuffer append(float value)

StringBuffer append(int value)

StringBuffer append(long value)

StringBuffer append(Object value)

StringBuffer append(String value)

StringBuffer append(StringBuffer value)

 

 StringBuffer append 메서드는 반환하는 형식 개체가 원본 개체와 같습니다. String 클래스의 문자열 변경에 관한 메서드에서는 원본 개체의 문자 집합을 변경할 수 없기 때문에 새로운 개체를 생성하여 반환하였지만 StringBuffer에서는 원본 개체의 문자 집합을 변경한 후에 자기 자신을 반환합니다. 다음의 결과를 확인해 보면 s1 origin이 같은 개체를 참조한다는 것을 확인할 수 있습니다.

StringBuffer origin = new StringBuffer("abc");

StringBuffer s1 = origin.append(true);

System.out.println(s1);

if(s1 == origin){

     System.out.println("같은 개체 참조");

}

else{

     System.out.println("다른 개체 참조");

}

 

 이러한 차이가 String 클래스와 StringBuffer 클래스의 가장 큰 차이점입니다.

 

 다음은 StringBuffer 클래스의 append 멤버 메서드를 사용하는 예제입니다.

 

//StringBuffer append 멤버 메서드 사용

public class Program {

        public static void main(String[] args){

               StringBuffer origin = new StringBuffer("abc");

              

               StringBuffer s1 = origin.append(true);

               System.out.println(s1);

               if(s1 == origin){

                       System.out.println("같은 개체 참조");

               }

               else{

                       System.out.println("다른 개체 참조");

               }

              

               origin.append('a');

               System.out.println(origin);

              

               char[] sarr = {'d','e','f','g','h'};

               origin.append(sarr);

               System.out.println(origin);

              

               origin.append(sarr,2,2);

               System.out.println(origin);

                             

               origin.append(3.14);

               System.out.println(origin);

              

               origin.append(3.14f);

               System.out.println(origin);

              

               origin.append(3);

               System.out.println(origin);

              

               origin.append(3l);

               System.out.println(origin);

              

               origin.append("Yahoo");

               System.out.println(origin);

        }

}

abctrue

서로 같다.

abctruea

abctrueadefgh

abctrueadefghfg

abctrueadefghfg3.14

abctrueadefghfg3.143.14

abctrueadefghfg3.143.143

abctrueadefghfg3.143.1433

abctrueadefghfg3.143.1433Yahoo

[소스 6.18] StringBuffer append 멤버 메서드 사용 예

반응형