Ich habe eine Zeichenfolge, die eine Nummer speichert. Jetzt möchte ich diese Zeichenfolge analysieren und als float bekommen.
%Vor% Wenn Sie es jetzt im obigen Code ausführen, wird es erfolgreich sein. Meine Frage ist, warum hinterschreibt Leerzeichen im Fall von Integer ein NumberFormatException
, während das Parsen eines Floats nicht einen wirft?
PS: Das gleiche gilt für Boolean und doppeltes Parsing.
PPS: Warum gibt es eine Inkonsistenz in Java? Und ich überprüfe bereits den Quellcode
Wie Sie im zugehörigen Quelltext sehen können, wird der Wert getrimmt:
%Vor% Also werden die Leerzeichen vor dem Konvertieren in floatValue entfernt.
Weitere Informationen finden Sie im Quellcode von FloatingDecimal , die von Float.class
aufgerufen wird.
Integer.parseInt()
trimmt den Zeichenfolgenwert nicht:
Deshalb erhalten Sie dort eine Ausnahme