일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JSX
- 형변환
- array
- JavaScript
- JS
- 오라클
- url 치환
- url 변환
- SQL
- 원펀맨
- 자바
- table
- spring
- 이름 마스킹
- jQuery
- JSTL
- 자바스크립트
- Oracle
- React
- set
- html
- 모바일게임
- forEach
- 배열
- 개발
- Java
- 리액트
- 스프링
- 원펀맨: 최강의 남자
- 맛집
Archives
- Today
- Total
특별한 일상
[java] 문자열 형변환(String Casting)[(String)/String.valueOf()/.toString()] 본문
IT•개발 끄적/Java
[java] 문자열 형변환(String Casting)[(String)/String.valueOf()/.toString()]
소다맛사탕 2021. 4. 19. 22:44반응형
안녕하세요. 소다맛사탕 입니다.
오늘은 문자열로 형변환 종류와 사용법에 대해 알아 보겠습니다.
기본적으로 문자열(String) 형변환에는 3가지 방법이 있습니다.
1. (String)
- 대상 변수가 null 이면 NullPointerException.
- Object 값이 String이 아니면 ClassCastException.
2. toString()
- 대상 변수가 null 이면 NullPointerException.
- Object 값이 String 변수가 아니더라도 출력.
3. String.value()
- casting 변수가 null 이면 문자열 "null"을 만든다.
// 문자형 변수 선언
String strVal = "test";
System.out.println("String.valueOf : " + String.valueOf(strVal));
System.out.println("(String) : " + (String) strVal );
System.out.println(".toString() : " + strVal.toString());
System.out.println("===================================");
// 문자형 공백 변수 선언
Object objVal = "";
System.out.println("String.valueOf : " + String.valueOf(objVal));
System.out.println("(String) : " + (String) objVal );
System.out.println(".toString() : " + objVal.toString());
System.out.println("===================================");
// Object null 변수 선언
Object strVal3 = null;
System.out.println("String.valueOf : " + String.valueOf(strVal3));
System.out.println("(String) : " + (String) strVal3 );
System.out.println(".toString() : " + strVal3.toString());
>> String.valueOf : test
>> (String) : test
>> .toString() : test
>> ===================================
>> String.valueOf :
>> (String) :
>> .toString() :
>> ===================================
>> String.valueOf : null
>> (String) : null
>> Exception in thread "main" java.lang.NullPointerException
at simsim.JavaCastingString.main(JavaCastingString.java:26)
대상 변수가 null 일때 NullPointerException은 toString() 방식일때 발생 확인.
// 문자형 상수 변수 선언
Object objIntVal = 1;
System.out.println("String.valueOf : " + String.valueOf(objIntVal));
System.out.println(".toString() : " + objIntVal.toString());
System.out.println("(String) : " + (String) objIntVal );
>> String.valueOf : 1
>> Exception in thread "main" .toString() : 1
>> java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at simsim.JavaCastingString.main(JavaCastingString.java:32)
대상 변수가 String이 아닌 상수일때 ClassCastException 발생 확인.
이로써 결론은,
Casting 방식에 따라 화면에 데이터를 뿌리거나 비교할때,
Null 존재 여부에 따른 exception이 왜 발생하고, 어떤 방식으로 형변환을 해야 하는지 다시 한번 정리되었다.
'IT•개발 끄적 > Java' 카테고리의 다른 글
[java] 최대공약수 최소공배수 구하기 (0) | 2021.04.25 |
---|---|
[java] 오버로딩, 오버라이딩 사용법, 차이점 (0) | 2021.04.24 |
[java] 최대값, 최소값 구하기 (0) | 2021.04.16 |
[java] JDK 환경변수 설정(java 환경변수 설정) (0) | 2021.04.11 |
[java] JDK 설치하기(자바 개발도구 설치, JDK 1.8 =JDK 8.0) (0) | 2021.04.11 |
Comments