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

조회수 4346회

자바에서 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);
    }
}

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

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

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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)