[Java] Stringbuilder

Jung In Lee·2024년 11월 24일
1

JAVA

목록 보기
8/9

StringBuilder.delete(startIndex, endIndex + 1)

  • 부분 문자열을 삭제하는 메소드다.
  • startIndex를 포함하며, endIndex를 포함하지않기때문에, +1한 인덱스를 넣어준다.
  • 여기서 시험삼아서 돌려봤는데, endIndex는 문자열 길이를 초과해도, 에러를 발생시키지않는다. 이미 끝부분이 문자열의 length()까지로 저장되어있는거같다.
import java.awt.*;
import java.io.*;
import java.util.*;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
    static int R, C;
    static StringBuilder sb = new StringBuilder();

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        String str = "1234567";

        for (int i = 0; i < str.length(); i++) {
            sb.append(str.charAt(i));
        }

        sb.delete(6, 100000);

        System.out.println(sb);


        bw.flush();
        bw.close();
        br.close();
    }
}
  • 결과

+추가

  • 그래서 혹시 상위메소드에 단서가있을까봐, 타고올라가봤다.
  • StringBuilder는 AbstractStringBuilder를 상속받는것같다.
  • AbstractStringBuilder의 delete메소드는 위와같이 구현되어있는데,
    endIndex가 길이보다 클경우 이를 길이로 맞춰주고있다. 따라서 따로 신경쓸필요가 없었다.
profile
Spring Backend Developer

0개의 댓글