[Java] 문자열 겹쳐쓰기

Life is ninanino·2023년 7월 18일
0
post-thumbnail

🔗문제링크

문제링크

문제 설명

class Solution {
    public String solution(String my_string, String 	overwrite_string, int s) {
        StringBuilder sb = new StringBuilder(my_string);
        sb.replace(s, s + overwrite_string.length(), overwrite_string);
        return sb.toString();
    }
}

📖 공부

String은 불변객체이다. String 객체는 한번 생성되면 변경할 수 없으므로, +를 사용해서 문자를 연결하면 연결할 때마다 새로운 문자열 객체가 생성된다. 또한 이전에 있던 문자열은 JVM의 GC가 처리하게 된다.
String의 길이는 .length()로 구할 수 있다

StringBuilder

StringBuilder는 String과 다르게 값이 변할 수 있다.
StringBuilder은 문자열을 더할 때 새로운 객체를 생성하는 것이 아니라 기존의 데이터에 더하는 방식을 사용하기 때문에 속도가 빠르고 상대적으로 부하가 적다.

sb.replace(int index1, int index2, String str);

StringBuilder의 replace를 사용한다면, StringBuilder에서 인자로 받은 문자열에서 index1과, index2까지의 위치한 문자열을 str로 대체한다

참고링크

profile
백엔드 프로그래밍을 공부하고 있습니다. AWS, 클라우드 환경에 대해 관심이 많습니다.

0개의 댓글