일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 프로그래머스 #자바 #java #코딩테스트 #연속된 수의 합 #코딩
- JAVA #객체지향언어 #절차지향언어 #코딩 #Python #C #C++ #객체지향 #절차지향
- 프로그래머스 #JAVA #코딩테스트 #다음에 올 숫자 #코딩
Archives
- Today
- Total
Javadocs
[Java] toString()과 String.valueOf() 비교 및 차이점 본문
toString()과 String.valueOf()는 Object 값을 String 형으로 변환할 때 주로 사용하는 메소드.
두 메소드는 String의 형태로 값을 변환해주는 비슷한 점이 있지만, 변경하고자 하는 값이 null이라면 차이가 있습니다.
두 메소드의 차이점은 바로 null값에 따른 NullPointerException의 발생 유무입니다.
넘어오는 Object의 값이 null일 때 toString()과 String.valueOf()의 비교
- toString() : null 값을 형 변환 시 NullPointerException(NPE)이 발생 / Object의 값이 String이 아니여도 출력.
- String.valueOf() : 파라미터로 null이 오면 "null"이라는 문자열로 출력
public class Practice {
public static void main(String[] args) {
Object obj = null;
System.out.println(String.valueOf(obj));
System.out.println(valueOfCheck(obj));
System.out.println("--------------");
System.out.println(obj.toString());
}
static String valueOfCheck(Object obj) {
return obj == null ? "javadocs.tistory.com" : String.valueOf(obj);
}
}
위와 같이 toString()은 null값을 형변환 하면 NPE가 발생하기 때문에,
NPE를 방지할 수 있는 String.valueOf()를 사용하는 것이 좋다.
* String.valueOf() 사용 시 "null"에서 다른 문자열로 바꾸고 싶다면 위와 같이 메소드를 정의해서 사용.
'Programming > Java' 카테고리의 다른 글
[ Java ] 추상클래스와 인터페이스의 차이(수정중) (0) | 2023.04.14 |
---|---|
[ Java ] JVM(자바 가상 머신)이란? (0) | 2023.03.25 |
3. Java 프로그래밍 기본 (0) | 2023.03.01 |
2. 자바언어의 특징 (0) | 2023.03.01 |
1. 컴퓨터 구조의 이해 (0) | 2023.02.28 |
Comments