IT-개발자 2018. 7. 1. 21:04
반응형

이번 시간에는 StringBuffer 클래스의 append() 메소드를 확인해보도록 하겠습니다.

우선, StringBuffer 클래스는 String 클래스와는 다르게 정적 문자열이라는 특징을 가지고 있습니다. 

예를들어, String 클래스의 변수 a가 ="123"; 이면, 이 a는 변함이 없지만, StringBuffer 클래스의 a는 변할 수 있다는 특징이 있습니다. 다만, 이 StringBuffer는 new를 이용하여 새로운 객체를 생성하여야 합니다.


다음으로 append()메소드에 대해서 확인하도록 하겠습니다.

append()

append(boolean)

append(int)

append(long)

append(float)

append(double)

append(char)

append(string)


append는 기존 문자열의 뒤쪽에 문자열을 추가하는 기능을 가지고 있습니다. 

예를들어, StringBuffer a="123"; 이 있다면 append("4"); 기능으로 a="1234"라는 값을 가지게 됩니다.


아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기04;

 

public class a01 {

 

        public static void main(String[] args) {

 

               String a = "안녕하세요";

               StringBuffer ab = new StringBuffer("123");

               // StringBuffer 객체를 생성합니다.

               ab.append(a);

               System.out.println(ab);

               // StringBuffer StringBuilder 비해 느린 성능을 가지고 있지만 멀티쓰레드를 지원합니다.

 

               ab.append(a);

               System.out.println(ab);

               // abc라는 변수는 현재 "123안녕하세요" 동적 문자열임을 있습니다.

               // 이것은 String 클래스의 정적 문자열과는 차이점이 있습니다.

 

               StringBuilder abc = new StringBuilder("123");

               // StringBuilder 객체를 생성합니다.

               abc.append(a);

               System.out.println(abc);

               // StringBuilder StringBuffer 비해 빠른 성능을 가지고 있지만 멀티쓰레드를 지원하지 않습니다.

 

               abc.append(a);

               // abc라는 변수는 현재 "123안녕하세요" 동적 문자열임을 있습니다.

               // 이것은 String 클래스의 정적 문자열과는 차이점이 있습니다.

               System.out.println(abc);

              

              

               System.out.println("--------------");

              

               StringBuffer abcd=new StringBuffer("1");

               abcd.append('1');

               System.out.println(abcd);

               abcd.append(1);

               System.out.println(abcd);

               abcd.append("1");

               System.out.println(abcd);

               abcd.append(0.1);

               System.out.println(abcd);

              

               System.out.println("--------------");

              

               String c="123";

               String d="456";

               //String 클래스에는 StringBuffer 메소드가 적용되지 않습니다.

       

               String e=c+d;

               System.out.println(e);

               //String에서는 append 기능을 + 연산자가 수행하고 있습니다.

               //+연산자로 StringBuffer StringBuilder 이용하여 다시 새로운 형태의 변수를 만듭니다.

        }

 

}



<결과물>



자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


반응형