반응형
String 클래스에는 문자열을 저장하기 위해서 문자형 배열 변수(char []) value를 인스턴스 변수로 정의해놓고 있다. 인스턴스 생성 시 생성자의 매개변수로 입력받은 문자열은 이 인스턴스 변수에 문자형 배열로 저장되는 것이다.
한번 생성된 String 인스턴스가 갖고 있는 문자열은 읽어 올 수만 있고, 변경할 수는 없다.
예를 들어 아래의 코드와 같이 '+' 연산자를 이용해서 문자열을 결합하는 경우 인스턴스 내의 문자열이 바뀌는 것이 아니라 새로운 문자열이 담긴 String 인스턴스가 생성되는 것이다.
String a = "a";
String b = "b";
a += b;
이처럼 덧셈연산자(+)를 사용해서 문자열을 결합하는 것은 매 연산 시 마다 새로운 문자열을 가진 String 인스턴스가 생성되어 메모리 공간을 차지하게 되기 때문에 가능한 결합횟수를 줄이는 것이 좋다.
문자열간의 결합이나 추출 등 문자열을 다루는 작업이 많이 필요한 경우에는 String 클래스 대신 StringBuffer ( 또는 StringBuilder ) 클래스를 사용하는 것이 좋다.
728x90
반응형
'웹 개발' 카테고리의 다른 글
[java] sendmail 파일명 한글 깨짐현상 (0) | 2019.08.23 |
---|---|
[spring] file upload ( excel ) (0) | 2019.08.23 |
HTML 객체의 넓이보다 text의 길이가 길어졌을 경우 ... 처리 방법 (ellipsis) (0) | 2019.08.23 |
jqgrid + spring (0) | 2019.08.23 |
java class 내에서 this와 this()의 차이 (0) | 2019.08.23 |