문자열 연결할때 concat()과 +연산자


자바에서 a,b라는 문자열이 있을때 이걸 연결하려면

a+=b
a.concat(b)

이런 방법이 있잖아요. 이 두개가 똑같은 건가요? 제가 concat메소드의 코드는 있는데 +연산자의 코드가 없어요. 가능하면 코드 좀 보여주세요. 그리고 +연산자는 어떻게 동작하는지를 알고 싶어요.

public String concat(String s) {

    int i = s.length();
    if (i == 0) {
        return this;
    } else {
        char ac[] = new char[count + i];
        getChars(0, count, ac, 0);
        s.getChars(0, i, ac, count);
        return new String(0, count + i, ac);
    }
}

조회수 218


1 답변


좋아요
0
싫어요
채택취소하기

concat메소드와 +연산자는 같지 않습니다. 첫번째 이유로 a가 null일때 a.concat(b)를 했을경우 NullPointerException을 마주하게 될겁니다. 하지만 a+=b;는 a가 null이어도 잘 처리되죠. 또 concat메소드는 오직 String값만 허용하는데 +연산자는 인자가 String으로 변환이 가능하면 사용가능합니다.

그래서 concat메소드가 +연산자보다 더 제한적입니다.


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close