아래 코드에서 출력은 두 루프에서 동일합니다. 실제로 getNumericValue
은 char
이 숫자 인 경우 char
의 숫자 값을 반환하므로 0..9
이면 int
값을 반환합니다. '0'->0
다른 ASCII 코드의 경우 코드를 반환합니다 (예 : 'a'->10
).getNumericValue를 사용하는 경우
(예제 코드에서와 같이) 숫자 이외의 문자에이 방법을 사용하면 어떤 점이 있습니까?
유스 케이스? 필자는 숫자 값 형식 char을 얻는 다른 사용 사례를 생각할 수 없습니다.
char ch;
int i =1;
for( ch = 'a'; ch <= 'z' ; i++, ch++)
System.out.println(ch+" "+i);
i=1;
for(int j=Character.getNumericValue('a'); j<= Character.getNumericValue('z'); j++,i++ )
System.out.println(i+ " "+j);
EDIT 만 비 단순 예에서는, 예를 들면, 캐릭터 '\ u216C'50
"어떤 점이 있습니까?"라는 말의 의미는 분명하지 않습니다. 문서화 된 동작이 필요한 경우이 메서드를 사용해야합니다. 그렇지 않으면 사용하지 마십시오. –
아니면, * (당신이 생각하고있는 다른 방법) *와 대조적으로 사용하는 것이 요점입니까? –
@AndyTurner 숫자에 대해'chars'와'Character.digit'에 대해 단항 숫자 승격을 사용할 수 있다면이 방법의 요점을 궁금해하고 있습니다. – mCs