Character.getNumericValue

J

Java_Nooby

Gast
Da ein char ja nichts anderes als der Unicode des Zeichens ist, reicht es zur Konvertierung in einen int, '0' abzuziehen:
Java:
		char c = '3';
		int i = c - '0';

Nun sehe ich aber oft stattdessen so etwas:
Java:
		char c = '3';
		int i = Character.getNumericValue(c);

Wieso sollte man (falls überhaupt?) letztere Methode bevorzugen?
 
S

SlaterB

Gast
weil in der Character-Klasse komplizierter Code a la
Java:
public static int getNumericValue(int codePoint) {
        int numericValue = -1;

        if (codePoint >= MIN_CODE_POINT && codePoint <= FAST_PATH_MAX) {
            numericValue = CharacterDataLatin1.getNumericValue(codePoint);
        } else {
            int plane = getPlane(codePoint);
            switch(plane) {
            case(0):
                numericValue = CharacterData00.getNumericValue(codePoint);
                break;
            case(1):
                numericValue = CharacterData01.getNumericValue(codePoint);
                break;
            case(2):
                numericValue = CharacterData02.getNumericValue(codePoint);
                break;
            case(3): // Undefined
            case(4): // Undefined
            case(5): // Undefined
            case(6): // Undefined
            case(7): // Undefined
            case(8): // Undefined
            case(9): // Undefined
            case(10): // Undefined
            case(11): // Undefined
            case(12): // Undefined
            case(13): // Undefined
                numericValue = CharacterDataUndefined.getNumericValue(codePoint);
                break;
            case(14): 
                numericValue = CharacterData0E.getNumericValue(codePoint);
                break;
            case(15): // Private Use
            case(16): // Private Use
                numericValue = CharacterDataPrivateUse.getNumericValue(codePoint);
                break;
            default:
                // the argument's plane is invalid, and thus is an invalid codepoint
                // numericValue remains -1
                break;
            }
        }
        return numericValue;
    }
kaum zum Spass steht für alle möglichen UniCode-Zeichen,

--------

anderseits ist der einfache Fall in einfachen Programm sicher vorauszusetzen,
dann hat man immer noch eindeutigen sprechenden Code und nicht wirre Hacks

die pq-Formel kann man vielleicht auch durch irgenwelche ~+%$/%$§§-Bit-Operation ersetzen, verstehen tut das aber keiner,

- '0' ist freilich noch ein überschaubarer Fall, wer es nicht kennt, kann es in diesem Fall lernen und geht auch weiter

-----

dass der ASCII-Code nicht ewig gilt kann auch noch anbringen? nein ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
obiwanke Ziffern durch ASCII Character ersetzen Java Basics - Anfänger-Themen 8
B Klasse "Character" Java Basics - Anfänger-Themen 2
O String mit Character vergleichen Java Basics - Anfänger-Themen 3
M Warum werden character, die Leerzeichen sind, nicht korrekt verarbeitet? Java Basics - Anfänger-Themen 2
J String Array zu Map<Character, List<Character>> mit Streams Java Basics - Anfänger-Themen 1
F Character umwandeln als Double Werte Java Basics - Anfänger-Themen 8
X Gänsefüßchen als invalid character constant Java Basics - Anfänger-Themen 2
K Regex: illegal character range Java Basics - Anfänger-Themen 4
P Wann Byte-Stream und wann Character-Stream? Java Basics - Anfänger-Themen 11
J Variablen Invalid Character - Error -> Spiel mit Variablenergebnissen Java Basics - Anfänger-Themen 8
K Character in Wörtern vertauschen Java Basics - Anfänger-Themen 11
G Error: "No character data is allowed" Java Basics - Anfänger-Themen 6
A Character einlesen Java Basics - Anfänger-Themen 2
A character einlesen Java Basics - Anfänger-Themen 4
S char Array in Character KlassenArray? Java Basics - Anfänger-Themen 24
H was ist radix in Character.digit(char, int radix) Java Basics - Anfänger-Themen 4
B Datentypen Character überprüfen Java Basics - Anfänger-Themen 3
G Character-orientierte File-Streams mit der Klasse FileReader Java Basics - Anfänger-Themen 5
A Character-Array sortieren￾￾ Java Basics - Anfänger-Themen 8
G Character Encoding Java Basics - Anfänger-Themen 3
T Special Character darstellung Java Basics - Anfänger-Themen 4
halla Character-Array in einen String umwandeln Java Basics - Anfänger-Themen 3
C Character to String! Java Basics - Anfänger-Themen 6
M Illegal Escape Character und keine Darstellung? Java Basics - Anfänger-Themen 7
S Character aus Textfeld auslesen Java Basics - Anfänger-Themen 2
S Umwandlung eines Character-Streams in ein Image Java Basics - Anfänger-Themen 17
N String to Character Array... Java Basics - Anfänger-Themen 5
J Space zwischen 2 Character verkleinern Java Basics - Anfänger-Themen 5
I getNumericValue Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben