728x90
int one = Integer.valueOf(String.valueOf('1'));
// 뭔가 잘못됐음을 느낌
이전까지 알고리즘 문제를 풀 때 char를 String으로 변경한 후 Integer.valueOf를 사용했는데 뭔가 잘못됐음을 느꼈다.
이번에 정확하게 정리하려고 함
캐릭터형은 정수값으로 관리되기 때문에 바로 Integer로 변경하려고 하면 이상한 값이 나오게된다. '1'이 아스키코드 49 이런식으로 판별되기 때문이다. 그래서 정확하게 형변환해주는 게 중요하다!
1. Character.getNumericValue() 사용
int one = Character.getNumericValue('1'); //1
- 컬렉션에서 지원하는 문법이다
- 가장 가독성이 좋은 것 같다. 꼭 외워둬야지
2. ASCII 코드 사용 (비추)
int one = '1' - '0'; //1
- 캐릭터는 어차피 0부터 123 증가할 것이기 때문에 '0' 아스키코드를 빼주면 int값을 구할 수 있다.
728x90
'프로그래밍 언어 > Java' 카테고리의 다른 글
[JAVA] 이진탐색 lowerbound, upperbound 정리 (0) | 2023.10.01 |
---|---|
Arrays.binarySearch 메서드 알아보기 (2) | 2023.09.30 |
[Java] java.lang.IllegalStateException: Module entity with name: [] should be available 자바, 인텔리제이 오류 (0) | 2023.08.05 |
IntelliJ 오류메시지 - error: invalid source release: 17 (0) | 2022.12.29 |
java 다양한 반올림 방법 (0) | 2021.08.29 |