JAVA-중요01-append()
이번 시간에는 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을 이용하여 다시 새로운 형태의 변수를 만듭니다. }
} |
<결과물>
자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.