기본타입 문자열 변환에 대해 글로 정리하면서 참고하던 교재에 toString()은 나와있지 않았다.
나는 toString()을 사용할 때가 자주 있었기에 차이점을 글로 정리해두고자 작성하기로 했다!
String.valueOf()와 toString()은 자바 기본타입값을 문자열로 바꾸고 싶을 때 사용하는 메소드이다.
둘의 차이는 변환하고자 하는 값이 null값일 때, 발생한다.
사용 예시
Object obj = null;
String str = String.valueOf(obj); //출력시 null
String str2 = obj.toString(); //NPE(NullPointerException) 발생
변환하고자 하는 파라미터가 null일 때,
String.valueOf()는 null로 저장되어 String 타입으로 출력해주지만 따로 null을 처리할 메소드를 구현할 필요가 없다.
toString()은 NullPointerException 발생한다.
간단하지 않는 프로그램에서 NullPointerException이 발생하면 원인을 찾기 곤란한 경우가 생기기 때문에
toString()을 사용하려면 null인 경우에 대해 따로 처리해주는 메소드를 구현할 필요가 있다.
String.valueOf()는 따로 null을 처리할 메소드를 구현할 필요가 없기 때문에 NPE를 방지하기 위해 String.valueOf()를 사용을 더 추천해 String.valueOf()만 작성되어져 있었던 것 같다.
'JAVA' 카테고리의 다른 글
[JAVA(자바)] 조건문과 반복문 (2) | 2022.12.25 |
---|---|
[JAVA(자바)] 연산자란? (연산자 종류와 우선순위) (0) | 2022.12.24 |
[JAVA(자바)] 자동타입변환, 강제타입변환, 문자열타입변환 (2) | 2022.12.21 |
[JAVA(자바)] 리터럴이란? (0) | 2022.12.19 |
[JAVA(자바)] 변수와 자료형 (0) | 2022.12.19 |
댓글