# args[] von String nach int umwandeln



## BeKos (10. November 2003)

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!


----------



## Dario Linsky (10. November 2003)

Probiers mal mit Integer.parseInt().


----------



## BeKos (11. November 2003)

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?


----------



## Retlaw (11. November 2003)

> _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.

```
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.


----------



## BeKos (11. November 2003)

Danke

Aufgabe jetzt endlich so gelöst wie ich es sollte


----------



## Peter Bönnen (11. November 2003)

> 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.
	
	
	



```
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


----------



## chibisuke (11. November 2003)

Achtung:

Nicht verwechseln: den primitiven typ "int", und die klasse "Integer"


----------

