반응형
String 과 StringBuilder 차이
String
: 불변
+연산으로 합치기
문자열에 합치기하는 경우 새로운 인스턴스를 반환
문자열 변경이 자주 일어나느 경우 성능 면에서 좋지 않음
변하지 않는 문자열을 자주 읽어 들이는 경우에는 성능이 좋음
StringBuilder
: 가변
oppend() 메소드로 합치기
기존 인스턴스를 수정(새로운 객체생성x)
잦은 문자열 변경이 일어나는 경우 String 보다 성능이 좋음
StringBuilder의 자주 사용되는 메소드
capacity()
: 용량(현재 버퍼의 크기)을 정수형으로 반환하는 메소드
16이 기본 용량
append()
: 인자로 전달 된 값을 문자열로 변환 후 기존 문자열의 마지막에 추가
기본 용량을 초과하는 경우 (기존 문자열 + 1 ) * 2를 하여 용량을 확장시킴
delete()
: 시작 인덱스와 종료 인덱스를 이용해서 문자열에서 원하는 부분의 문자열을 제거
delelteCharAt()
: 문자열 인덱스를 이용해서 문자 하나를 제거
insert()
: 인자로 전달 된 값을 문자열로 변환 후 지정한 인덱스 위치에 추가
reverse()
: 문자열 인덱스 순번을 역순으로 재배열
StringBuilder sb2 = new StringBuilder("javaoracle");
System.out.println(sb2.delete(2, 5));
=> jaracle
System.out.println(sb2.deleteCharAt(0));
=> aracle
System.out.println(sb2.insert(1, "vao"));
=> avaoacle
System.out.println(sb2.insert(0, "j"));
=> javaoacle
System.out.println(sb2.reverse());
=> elcaroavaj
String 클래스와 동일한 메소드 있음
: charAt(), indexOf(), lastIndexOf(), length(), replace(), substring(), toString()
반응형
'프로그래밍 > java' 카테고리의 다른 글
[자바JAVA] 제네릭(generic)_와일드카드 (0) | 2022.09.03 |
---|---|
[자바 / Java] Wrapper 클래스(Auto Boxing과 Auto UnBoxing) (0) | 2022.09.03 |
[자바 / Java] 이스케이프 문자 사용 (0) | 2022.09.03 |
[자바/Java] String 클래스의 hashCode()와 equals() (0) | 2022.08.29 |
[자바/Java] String 클래스 : 자주 사용되는 메소드 (0) | 2022.08.29 |