작성자 없음
작성자 정보가 삭제된 글입니다.
22.06.23 21:01 작성
·
354
0
public String solution(String str) {
String answer;
char[] s = str.toCharArray();
int lt = 0, rt = s.length - 1;
while (lt < rt) {
if (!Character.isAlphabetic(s[lt]))
lt++;
else if (!Character.isAlphabetic(s[rt]))
rt--;
else {
char tmp = s[lt];
s[lt] = s[rt];
s[rt] = tmp;
lt++;
rt--;
}
}
answer = String.valueOf(s);
//answer=s.toString();
return answer;
}
위의 코드에서
answer = String.valueOf(s)와
주석처리한 answer=s.toString이 어떤 차이점이 있을까요??
두 코드 다 s를 스트링으로 바꿔서 answer에 넣어주는거라 생각했는데 주석처리한 코드로 제출하면 오답이라도 나오네요
답변 3
0
혹시라도 도움되실까 정리해봅니다.
String은 조금 특이케이스여서 Integer를 예시로 드리려합니다.
Integer.valueOf() = Integer 객체 반환
Integer.parseInt() = int (primitive) 값 반환
toString() = Override 하지 않을시 객체 메모리주소 반환
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
보시다시피, 클래스 정보를 구해 클래스 이름을 구하고 @ HexString 해쉬코드를 반환합니다.