以下のコードでは、出力は両方のループで同じになります。 は、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)は50
「何かありますか」という意味ではあまり明確ではありません。文書化された振る舞いが必要な場合は、このメソッドを使用する必要があります。それ以外の場合は、使用しないでください。 –
または、*(あなたが考えている他の方法)*とは対照的に、使用するポイントがあるかどうか尋ねていますか? –
@AndyTurner数字のために 'chars'と' Character.digit'のために単項数値昇格を使うことができれば、このメソッドの要点に疑問を抱いていました。 – mCs