문자열에 관하여.. 프로그래밍 언어에서 문자열이 기본형인 것은 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 |