728x90
알고리즘 풀며 정리하는 형변환
문자열에서 문자의 비교시 int 를 스트링 또는 char로 변환할 경우가 있다.
Java에서int를char로 변환하는 메소드는(char),Character.forDigit()및toString() 가 있다.
1. (char)
타입 캐스팅을 사용하여 ASCII 값을 가져 와서int의char를 얻는다.
int value_int =1;
//이렇게하면 안됨.
char value_char1 = (char)(value_int);
//이렇게 해줘야함.
char value_char2 = (char)(value_int +'0');
위에 value_char1 처럼 하면 ascii 값 1 (인쇄 할 수없는 머리글 시작 문자)로 문자를 인쇄하게되어 잘못된 값이 나온다.
숫자 (0-9)를 변환하려면 여기에 48('0')을 더하고 캐스트하거나 밑에 나올 Character.forDigit(a, 10); 이 방법을 쓰는게 좋다
2. Character.forDigit() 방법
기수 또는 숫자 값이 유효하지 않으면 null을 반환
//radix 10 is for decimal number, for hexa use radix 16
int radix = 10; //10진수
int value_int = 6;
char value_char = Character.forDigit(value_int , radix);
3. toString()방법
int value_int = 1;
char value_char = Integer.toString(value_int).charAt(0);
int -> String -> char로 변환하는 방식
굳이?
2번 방법이 가장 근본있어보임.
728x90
'Java & Spring' 카테고리의 다른 글
java 서블릿 개념정리 (0) | 2021.08.16 |
---|---|
java 웹 서버 및 WAS 개념정리, 차이점 (0) | 2021.08.16 |
java Collection 프레임워크 정리 (0) | 2021.08.11 |
java array관련 함수 (0) | 2021.08.09 |
java string관련 함수정리 (0) | 2021.08.08 |