StringBuilder

Computer Science/JAVA 2015. 11. 18. 15:37

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
Posted by HHHimchan
,