In dem folgenden Code wird die Ausgabe in beiden Schleifen identisch sein. Die getNumericValue
kehrt tatsächlich den numerischen Wert von char
wenn die char
eine Ziffer so 0..9
es int
Wert zB zurückgibt. '0'->0
für andere ASCII-Codes gibt es ihren Code zB 'a'->10
zurück.wenn getNumericValue zu verwenden ist
Gibt es einen Punkt bei der Verwendung dieser Methode für Zeichen außer Ziffern (wie im Beispiel-Code)?
Irgendwelche Anwendungsfälle? Ich kann an keinen anderen Anwendungsfall denken, abgesehen davon, dass ich den Zahlenwert char erhalten habe.
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 Nur nicht triviales Beispiel ist beispielsweise das Zeichen ‚\ u216C‘ (die römische Zahl fünfzig) kehrt ein int mit einem Wert von 50
Es ist nicht sehr klar, was Sie mit "gibt es einen Punkt" bedeuten. Sie sollten die Methode verwenden, wenn das dokumentierte Verhalten Ihren Anforderungen entspricht. Ansonsten, benutze es nicht. –
Oder fragst du, ob es Sinn hat, etwas zu benutzen, anstatt * (irgendeine andere Methode, an die du denkst) *? –
@AndyTurner Ich frage mich, was diese Methode bedeutet, wenn ich Unary Numeric Promotion für 'chars' und' Character.digit' für Ziffern verwenden kann. – mCs