String.valueOf() .toString()
두 메소드 모두 Object의 값을 String으로 변환하지만 변경하고자 하는Object가 null인 경우 다르다.
toString()과 같은 경우 Null PointerException(NPE)을 발생시키지만 valueOf는 "null"이라는 문자열로 처리한다
이런 차이점 때문에 valueOf의 null체크 방법은 "null".equals(string) 형태로 체크를 해야한다.
null로 인해 발생된 에러는 시간이 지나고, 타인의 소스인경우 디버깅하기 어렵고 어떤의미를 내포하고 있는지 판단하기 어렵다. 때문에 NPE를 방지하기 위해 toString보다는 valueOf를 사용하는 것을 추천한다.
---------------------------------------------------------------------------------------------------------------------------------
- String.valueOf()
- 파라미터가 null 이면 문자열 null을 만들어서 담는다.
- "".toString()
-대상 값이 null 이면 NullPointerException 발생.
- Object 에 담긴 값이 String 이 아니라도 출력.
- 만약 형변환 하려는 객체가 Stirng 객체라면
String객체에 toString()메소드를 사용해서 다시 String객체를 가져오는 격이되어 낭비가 된다. 어차피 가져오 는 객체가 String객체이면 (String)을 사용하자.
- (String)
- 가져오는 객체가 String객체임을 컴파일러에 명시하는 것
'JAVA' 카테고리의 다른 글
JAVA Encoding 모음 (0) | 2021.05.16 |
---|---|
java 이모티콘 제거 (0) | 2021.01.17 |
JAVA 문자열 (공백제거 치환) replace와replaceAll의 차이 (0) | 2021.01.17 |
[JAVA/자바] 메모리 구조(static, stack, heap) (0) | 2020.12.27 |
java (jar, library 다운로드) (0) | 2020.11.29 |