1. 주제
String과 StringBuffer의 차이
2. 예시
1) String
(1)
String lb = new String("Durga")
lb.concat("software"); ---- concat() -> 문자를 결합해줌
sout(lb)
=> 답 : Dulga
(2)
String a = "kaka";
a = "bebe";
두번째 a에 bebe가 들어갈 때 kaka는 바로지워지는게 아니라 추후 가비지 컬렉터가 회수하게 됨,
String은 기본적으로 Immutable(불변)의 속성을 가지고 있음
(3)
String a = "kaka";
a = a+ "bebe";
기존 변수 a가 kaka에서 kakabebe로 바뀌는게 아니라 kaka이외에 kakabebe가 만들어지고
추후 가비지컬렉터에 의해 kaka가 제거됨. 메모리를 StringBuffer보다 더 사용
StringBuffer
(1)
StringBuffer lb = new StringBuffer("Durga");
lb.oppend("software");
sopn(lb);
=> 답 : Dulgasoftware
(2)
StringBuffer a = "kaka";
a.append("bebe");
기존의 a변수가 kaka에서 kakabebe로 변함
3. 요약
1) String객체가 생성될 때 기존에 있던 객체에서 어떠한 변화도 수행되지 않는다. 만약 우리가 어떠한 변화를 일으키려고 수행한다면 새로운 객체가 생성될 것이다. Immutability(불변)이 String 객체의 특성이다.
2) StringBugger객체는 생성될 때 우리는 기존에 있던 객체 내에서 변화가 되어질 수 있다. 이 변화될 수 있는 것이 StringBuffer객체의 특징이다.
Reference :
https://www.youtube.com/watch?v=zwocnEB9_1I&list=PL-8TVnCXtjy_xg_3qr4j5tn5qRrI-1wBQ&index=2
'IT이야기 > JAVA' 카테고리의 다른 글
[MAC/맥] 자바 파일 입출력 에러 해결하기 java.io.FileNotFoundException in eclipse (2) | 2016.04.15 |
---|---|
Access Specifiers vs Access Modifiers (0) | 2016.03.20 |
[생활코딩!] JAVA LinkedList, Doubly Linked List 간단한 소개 및 정리 (0) | 2016.03.02 |
[JAVA Arraylist,Linkedlist 객체 중복제거] Custom List객체를 hashset으로 중복제거 하는 방법 (0) | 2016.03.01 |
[JAVA/Android] Singleton pattern 사용법과 멀티쓰레드 문제 해결! (2) | 2016.02.29 |