2017-10-30 7 views
-5

charAt가 작동하지 않습니다 ... 구조의 일부 값이 아닌 해시 코드를 반환합니다.CharAt in Java 8

예 : 수 charAt (0) 여기서 49이 아닌 1

내가 할 수 무엇 오전 반환 '1'?!

+0

스택 오버플로에 오신 것을 환영합니다! [mcve]를 게시하십시오. 당신의 코드가 무엇인지는 명확하지 않습니다. – 4castle

+6

맞습니다. 'int'로 취급 될 때 49라는 값을 갖는 문자 '1'을 반환합니다. –

+0

코드가 반환 된 값을 int로 캐스팅합니다 ... 'char'로 다시 캐스팅하면'1'이 표시됩니다 – alfasin

답변

2

그것은 >> < <입니다. 해당 문자를 char으로 반환합니다 (아마도) 사용자는 int에 지정하고 인쇄하고 있습니다. 문자 '1'에 대한 ASCII/유니 코드 코드 포인트의 숫자 값은 49입니다. 문자로 인쇄/표시하려면 intchar으로 전송하십시오. (또는 먼저 int에 할당하지 마십시오.

레코드의 경우 Character에 의해 반환 된 hashCode 값은 문자 값과 동일합니다. 엄밀히 말하면 char에는 기본 값이고 기본 요소에는 메서드가 없기 때문에 hashCode가 없습니다.

+0

답변에 추가하려면 chars int 값은 [ascii 값] (https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html)이라고 언급 할 가치가 있습니다. – luckydog32

+0

끝났습니다. 감사. –