• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

toString과 String,valueOf

22.06.23 21:01 작성 조회수 221

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에 넣어주는거라 생각했는데 주석처리한 코드로 제출하면 오답이라도 나오네요

답변 2

·

답변을 작성해보세요.

0

drd9811님의 프로필

drd9811

2022.06.29

추가로 toString() 을 재정의하여 사용한다 가정했을 때 

toString()은 null일 때  NullPointerException 을 발생시키고

String.valueOf()는 null 이라는 문자열로 처리합니다.

 

0

밤의멜로디님의 프로필

밤의멜로디

2022.06.26

그냥 지나가다 답변 남깁니다만....

Object 클래스 공부를 다시 하셔야 할 듯 합니다.

기본적으로 toString()은 Object의 메소드라서 재정의를 해 주지 않으면 Object의 메소드가 호출 됩니다. 

아마 캐릭터 배열의 주소값이 나왔겠네요.