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 |