http://leegaworld.tistory.com/8
String, StringBuffer 성능 비교 : http://javacan.tistory.com/entry/39
StringBuffer, StringBuilder 성능 비교 : http://egloos.zum.com/deblan2/v/419830
http://skynaver.tistory.com/entry/String%EA%B3%BC-StringBuffer%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90
String / 불변객체(immutable instance)
예제1
String hello = "Hello";
hello += " and how are you?";
String으로 문자열을 합치기 위해서는 위와 같은 코드. 이 코드는 내부적으로 아래와 같이 동작.
hello = new StringBuffer(hello).append(" anad how are you?".toStgring();
이 과정에서 " and how are you?"와 hello라는 문자열 객체 두개가 garbage가 됨 (레퍼런스가 사라지므로)
예제2
String name =
"Albus "
;
name = name +
"Percival "
;
name = name +
"Wulfric "
;
name +=
"Brian "
;
name +=
"Dumbledore!"
;
위와 같은 코드는 내부적으로 아래와 같이 동작.
String name = "Albus ";
name = new StringBuffer(name).append("Percival ").toS tring();
name = new StringBuffer(name).append("Wulfric ").toString();
name = new StringBuffer(name).append("Brian ").toString();
name = new StringBuffer(name).append("Dumbledore!").toString();
객체 생성이 계속 해서 일어나므로 좋지 않음
따라서 아래와 같이 작성하도록 한다.
StringBuffer myName = new StringBuffer("Albus");
myName.append("Percival ");
myName.append("Wulfric ");
myName.append("Brian ");
myName.append("Dumbledore!");
String myNameResult = myName.toString();
'JAVA' 카테고리의 다른 글
[JAVA] Static (0) | 2018.05.08 |
---|---|
[JAVA] enum (last update : 2022.01.13 ) (0) | 2018.05.04 |
[JAVA] List, ArrayList (0) | 2017.09.22 |
JsonRequester (0) | 2017.07.05 |
정규식(Regular Expression) (0) | 2017.04.18 |