글 작성자: juyoungit

해당 method에 대해 공부하기 위해서는 우선 toString() method를 함께 같이 알아봐야할 필요성이 있다.

사실 valueOf() method는 toString method와 수행하는 기능 자체 "Object의 값을 String으로 반환한다" 라는 점에서 크게 다르지 않다. 다만, Object가 null인 경우 이를 처리하는 방식에서 차이를 보인다.

 

toString() method의 경우 해당 method를 호출한 Object가 null인 경우 NPE(= NullPointerException)를 발생시킨다. 하지만 valueOf() method의 경우 해당 method를 호출한 Object가 null인 경우 "null" 이라는 String을 반환한다는 점에서 그 차이가 있다.

String.valueOf( )

Object의 값을 String으로 반환, Object가 null인 경우 "null" String을 반환한다.

그래서 Object가 null인 경우에도 "null"이라는 String의 형태로 반환을 하다보니 해당 method를 사용하면 NPE가 발생하지 않게된다. 만약 valueOf() method를 사용하면서 Object가 null 인지에 대한 여부를 확인하기 위해서는 아래와 같이 equals를 사용해서 비교해줘야 한다.

.equals("null");

 

실제로 java에서는 NPE의 발생을 최대한 피하려고 하는 경향성을 가지고 있기 때문에 보통 toString보다 valueOf()를 더 많이 사용하는 경향이 있다.

'Web Backend > Java' 카테고리의 다른 글

enum  (0) 2021.06.28
Map & HashMap의 차이점  (0) 2021.06.28
LocalDateTime  (0) 2021.06.28
String.split() method  (0) 2021.06.28
String.join() method  (0) 2021.06.28