StringBuilder

혜연·2025년 3월 6일
0

Java

목록 보기
6/6
post-thumbnail

1. StringBuilder란 ?

String은 불변의 객체로 원본 객체를 수정하고 싶은 경우엔 새로운 객체를 생성해야 한다. 따라서 문자열을 자주 수정해야 할 때는 StringBuilder를 사용한다. StringBuilder는 가변의 객체로 원본의 객체를 직접 수정할 수 있다.

public class test {
    public static void main(String[] args) {

        String a = "abcdHello !!";
        a.concat("???"); 
        System.out.println(a); // abcdHello !!

        StringBuilder b = new StringBuilder(a);
        b.append("???");
        System.out.println(b); // abcdHello !!???
    }
}

위와 같은 코드에서 a.concat("???")a"???"을 이어붙인 새로운 String 객체를 생성한다. 따라서 a객체에는 아무 영향을 끼치지 않는다.
b.append("???")b"???"을 추가하는 코드로 b객체의 문자열이 수정된 것을 확인할 수 있다.

2. StringBuilder의 주요함수

StringBuilder 선언

StringBuilder str = new StringBuilder("hello Worlds")

reverse(String s) : 문자열 뒤집기

StringBuilder str = new StringBuilder("hello Worlds") // sdlroW olleh

append(Stirng s) : 문자열 추가

 System.out.println(str.append(100)); // sdlroW olleh100
 System.out.println(str.append("!!!!"));// sdlroW olleh100!!!!

insert(int offset, String s) : offset 위치에 문자열 추가

System.out.println(str.insert(0,"하이")); // 하이sdlroW olleh100!!!!

replace(int start,int end, String s) : 특정범위 문자열 대체

 System.out.println(str.replace(0,2,"아")); 아sdlroW olleh100!!!!

delete(int start, int end) : 특정범위 문자열 삭제

System.out.println(str.delete(0,2)); // dlroW olleh100!!!!

subString(int start) : start부터 끝까지 문자열 반환
subString(int start, int end) : 특정 범위 문자열 반환

System.out.println(str.substring(0,3)); // dlr

charAt(int index) : 특정 위치 문자 반환

System.out.println(str.charAt(2)); // r

indexOf(String str) : 문자열 시작 위치 반환

setCharAt(int index, String s) : 특정 위치 문자 변경

length() : 문자열 길이

toString() : String으로 변환

0개의 댓글

관련 채용 정보