args[] von String nach int umwandeln

BeKos

Grünschnabel
Hoi erstmal an alle!

Bin durch zufall auf deses wunderbare Forum gestossen und hoffe hier kann mir jemand helfen Ich habe folgendes Problem... Die Argumente die in der Kommadozeile vom Benutzer eingegeben werden liegen ja immer nur als Strin vor. Nun will ich mit diesen Argumenten aber ein Objekt erzeuge, welches Integer Werte benötigt. Wie kann ich die eingegebenen Argumente in Integer Variablen festschreiben und diese dann an das neue Ojekt weitergeben

Wäre super wenn da jemand ne Antwort drauf hätte :) Achso und bitte nicht mit doubleValue() kommen. Die Antwort hatte ich hier schonmal gefunden und es geht ja auch theoretisch, leider geht das trotz richtiger Ergebniss an meinem Aufgabentext vorbei da ich auf jeden Fall mit Ganzzahlen rechnen soll.

Danke!
 
Das habe ich auch schon versucht allerdings scheint das auch ncht so ganz zu gehen.

habe es folgendermassen angewandt vieleicht weisst du warum es nit funzelt :)

int h;

h = new Integer (args[0]).parseInt();

Eigenltich sollte h doch so den vom user eingegebenen int wert haben oder?
 
Original geschrieben von BeKos
...
int h;
h = new Integer (args[0]).parseInt();
...
Wiso new Integer ? Der primitive Datentyp int ist keine Klasse, muss daher auch nicht mit new instanziert werden.
Code:
int h;
h = Integer.parseInt(args[0]);
Sollte noch erwähnen das es einen Laufzeitfehler gibt falls das Argument in args[0] keine Ganzzahl ist.
 
Wiso new Integer ? Der primitive Datentyp int ist keine Klasse, muss daher auch nicht mit new instanziert werden.
Muss nicht, der Ansatz von BeKos ginge aber auch (mit kleinen Verbesserungen und ungeachtet der Tatsache, dass ein neues Integer Objekt hier wirklich unnötig ist).
Dazu müsste ein neues Integer Objekt erzeugt und die Methode intValue(), die den Wert des Objektes als int zurückliefert, benutzt werden.
Code:
h = new Integer(args[0]).intValue();
wäre also auch möglich.
Im Zuge des Auto-(Un-)Boxing in Java 1.5 ist dann diese Methode allerdings auch überflüssig und es reicht, dem primitiven Datentyp int das neue Integer Objekt zuzuweisen.

Im Sinne der Performance ist aber natürlich weiterhin die Klassenmethode zu bevorzugen. Ich fand's nur zu radikal, den Objekt-Ansatz gleich niederzuschmettern.

Peter
 
Zurück