티스토리 뷰

Web/Spring MVC

String StringBuffer 차이

구글링쟁이 k9e4h 2017.10.12 17:27

http://ooz.co.kr/298

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();

'Web > Spring MVC' 카테고리의 다른 글

[JAVA] HttpURLConnection / requestMethod, connectTimeout  (0) 2018.06.26
String StringBuffer 차이  (0) 2017.10.12
[JAVA] List, ArrayList  (0) 2017.09.22
Spring Transaction 관련  (0) 2016.11.30
Spring Annotation 정리  (0) 2016.10.07
[#1] spring 개요  (0) 2016.05.03
댓글
댓글쓰기 폼