프로그래밍/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 - 메모리 가변 - 문자열 변경시 기존 객체가 변경 - 메모리 변경이 잦은 경우 효율적 - 멀티스레딩시 동기화 처리되지 않음 - 단일 스레드에서의 안전성만을 보장
|
반응형