Kotlin Standard Library는 다양한 Helper Function을 제공한다.
"12345"라는 값이 있을 때, String.toInt()는 String을 Int타입으로 캐스팅해준다. Java에서 Integer.parseInt(str)과 동일하다. 그렇다면 Char의 경우에는 어떨까? Char타입에도 Char.toInt() 함수가 있는데, "1" 값을 1로 변환해줄까?
정답은, NO! Char.toInt()는 ASCII값을 반환한다.
class Test {
@Test
fun test() {
val str = "12345"
println("str.toInt(): ${str.toInt()}")
str.forEach { c ->
println("c.toInt(): ${c.toInt()}")
println("Character.getNumericValue(c): ${Character.getNumericValue(c)}")
}
}
}
"12345".toInt() -> 12345
"1".toInt() -> 49 // 기대값: 1, 실제값: 49
그렇다면 기대값을 가져오려면 어떻게 해야할까? Character.getNumericValue 함수를 이용한다.
Character.getNumericValue("1") -> 1 // 이렇게 원하던 값을 가져올 수 있다.
'서버 개발 > Kotlin & Java' 카테고리의 다른 글
Kotlin Reflection (0) | 2021.12.19 |
---|
댓글