StringBuilder
- String Class 는 메모리 내에서 상수 취급하여 처리하기 때문에 수정할 때마다 새로운 객체를 생성하여 처리된다.
- 따라서 많은 편집을 요하는 문자열을 StringBuilder를 사용하는 것이 성능향상에 좋다
ex) 어떠한 클래스에서 toString()을 Override 할 때 여러 맴버변수값들에 대한 조합을 통해 toString()시 반환될 문자열을 생성할 때 사용한다.
append(String s)
insert(int offset, String s)
reverse()
setChatAt(int index, char ch)
setLength(int newLength)
아래 페이지를 보면 함수들에 대한 내용이 많이 있다.
String Builder의 Document : https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html
// Example
//Example.java
public class Example {
public static void main(String args[]){
Student student1 = new Student(123456,"철수","제주","컴퓨터공학");
System.out.println(student1);
}
}
// Example
//Student.java
public class Student {
private int id;
private String name;
private String address;
private String major;
public Student(int id,String name, String address, String major){
this.id=id;
this.name=name;
this.address=address;
this.major=major;
}
@Override
public String toString(){
StringBuilder sb = new StringBuilder();
sb.append(id);sb.append("\t|"); // Tab 하고 | 추가
sb.append(name);sb.append("\t|");
sb.append(address);sb.append("\t|");
sb.append(major);
return sb.toString();
//아래2줄은 StringBuilder를 사용하지 않고 String 객체를 이용하여 출력하는 방법. 결과는 동일하다.
// String printTemp = id + "\t|" + name + "\t|" + address + "\t|" +major;
// return printTemp;
}
}
<결과>
123456 |철수 |제주 |컴퓨터공학
'Computer Science > JAVA' 카테고리의 다른 글
| Thread-2 (Wait & notify) (1) | 2015.12.03 |
|---|---|
| Thread-1 (Basic) (0) | 2015.12.03 |
| Hashmap 과 Treemap 의 차이 (0) | 2015.12.02 |
| E-Clipse Java Font 수정 (0) | 2015.11.18 |
| Inner Class(내부 클래스) (0) | 2015.11.18 |

