-
일반적으로 new생성자를 사용해서 값을 넣거나 하는데 String클래스는 직접 넣을 수 있다.
그러나 메모리 상의 변화에도 취약한데 데이터가 변하면 기존 객체의 메모리 공간은 자바만의 GC에 의해서 메모리가 회수되고 새로운 객체의 메모리가 생성된다.
String str = "Object";
str = str+"==Plus";
기존객체는 버리고
str의 메모리 주소는 새로 만들어진다.
String 클래스의 단점을 보완하는 2가지의 클래스가 있다
StringBuffer Something = new StringBuffer("Object");
또는
StringBuilder Something = new StringBuffer("Object");
something.append("==Plus");
라는 코드를 append()라는 함수를 사용하여 복사하는 방식이다.
StringBuffer나 StringBuild를 사용하면 기존 객체의 메모리 공간을 그대로 재활용한다.
참고로 StringBuffer의 경우 차곡차곡 들어오기에 안정성이 높고, StringBuild의 경우 들어오는대로 채워지기에 속도가 좋다
그러나 실무에서 큰 차이는 없다.
대표적인 함수는 append, insert, delete, length등이 있다.
'자바 > 자바 키포인트' 카테고리의 다른 글
[자바] 예외 처리 방법에 대한 try-catch문의 개념과 다양한 부가 문법 정리하기 (0) 2022.11.17 [자바] List 인터페이스와 map 인터페이스의 종류와 특징 정리하기 (0) 2022.11.17 [자바] 람다식의 정의&특징과 정리하기 (0) 2022.11.14 [자바] 추상클래스와 추상메서드의 정의와 특징 정리하고 예시 만들어보기 (0) 2022.11.12 [자바] 인터페이스의 정의와 implements의 개념 & 사용방법 간단한 예시 정리하기 (0) 2022.11.12 댓글