Language/Java

[Java] Casting vs String.valueOf 차이점

JB1104 2022. 9. 27. 17:04
728x90
반응형
SMALL

개발을 하다 보면 타입 변환을 하는 경우가 종종 생긴다. 어떤 건 Casting을 사용하고, 어떤 건 String.valueOf를 사용하고 있는데 차이가 뭘까라는 의문을 갖고 구글링을 통해 정리해보았다.

 

1. String.valueOf() 

  • 원시 타입이든 객체든 String으로 리턴
  • 파라미터가 null이면 문자열 null을 만들어서 리턴

 

2. Casting 

  • 변환하려는 객체가 진짜 String 타입일 경우에만 캐스팅 후 리턴
  • 대상이 null 이면 NullPointerException 발생
  • Object 값이 String이 아니면 ClassCastExcpetion 발생

아래 코드를 참조하면 조금 더 이해가 쉬울 것이다.

Object A = "AA";
String B = String.valueOf(A);

Object C = new Integer(42);
String D = (String) C; // will throw a ClassCastException
String E = String.valueOf(C);
728x90
반응형
LIST