프로그래밍/Java

Java 문자열에 관한 타입

seungdols 2014. 9. 3. 01:23

문자열에 관하여..



프로그래밍 언어에서 문자열이 기본형인 것은 SNOBOL 언어? 아마 그 이후 언어에서는 기본형 타입이 아닌 문자배열 기준으로 문자열을 생성 할 것이다.


C/C++ 같은 경우로 char 형 배열을 이용한다.


그러나 Java는 객체지향언어. 즉, Scalar 타입(기본자료형)이외의 String Class를 지원해준다. 

그리하여 String class를 이용하여 문자열을 생성하면 된다. 


보통 3가지로 분류 되는데 현재 7버젼의 경우 이 정도라고 생각하면 되고, 자바 8에서는 아마 람다식이 추가 된 걸로 알고 있다.




    1. String 

- 메모리 불변

- 문자열 변경시 객체가 새로 생성

- equals() 오버라이딩 

 

 

2. StringBuffer

- 메모리 가변

- 문자열 변경시 기존 객체가 변경

- 메모리 변경이 잦은 경우 효율적

- 스레드에 안전하게 설계(ThreadSafe)

 - a.toString().equals(b.toString())

 

3. StringBuilder 

- 메모리 가변

- 문자열 변경시 기존 객체가 변경

- 메모리 변경이 잦은 경우 효율적

- 멀티스레딩시 동기화 처리되지 않음

- 단일 스레드에서의 안전성만을 보장




 

 


반응형

'프로그래밍 > Java' 카테고리의 다른 글

Eclipse 사용간 파일을 지웠다!!가 복구 하기!!!  (0) 2014.11.11
절차 지향? 객체 지향?  (0) 2014.09.03
Collection Framework. ArrayList , HashSet, HashMap  (0) 2014.06.30
JAVA란?  (0) 2014.03.24
RGB 색상표  (0) 2011.11.23