728x90
[Java] toString()과 String.valueOf()의 차이 비교
Object 형태의 값을 String 형태로 변환할 때 많이 사용하는 것이 toString() 혹은 String.valueOf() 메소드이다.
두 메소드 모두 값을 String으로 변환한다는 점에서 비슷하지만, 변경하고자 하는 Object가 null인 경우에는 차이가 있다.
💡 Object가 null일때?
toString()
- Null PointerException(NPE)을 발생
- 대상 값이 null이면 NPE를 발생 -> Object에 담긴 값이 String이 아니여도 출력
String.valueOf()
- "null"이라는 문자열로 처리
- 파라미터가 null이면 문자열 "null"을 만들어서 반환한다-> 항상 String 형태로 출력
이런 차이 때문에 valueOf은 "null".equals(string) 형태로 다시 한번 체크를 해야한다.
또한, null로 인해 발생된 에러는 시간이 지나고 디버깅하기 어렵다는 문제가 있다.
그래서 NPE(Null PointerException)를 방지해야하는 경우에서는 String.valueOf()를 사용하는 것이 좋다.
728x90
'👩💻TIL > JAVA' 카테고리의 다른 글
[자바/JAVA ] 자바에서 세션(Session) 사용법 간단정리 (0) | 2020.05.07 |
---|---|
[JUnit] JUnit을 이용한 단위 테스트하기+단정(assert)메소드 정리 (2) | 2020.03.27 |
[자바(JAVA) 개념] 클래스(class) 선언방법 / 필드 / 생성자 (0) | 2019.12.01 |
[자바(JAVA) 개념]- 객체 / 객체지향 프로그래밍의 특징 (2) | 2019.12.01 |
[JAVA / 자바] HELLO, WORLD! 자바란 무엇일까? (0) | 2019.12.01 |
댓글