wert von einem String auf einen Integer ändern =(

eXistenZ

Mitglied
Hallo,

um meine Datumsklasse zum Laufen zu bringenbrauche ich eine Zeile, die aus meinem ausgegebenem String einen Int macht...

Mein Schulungsleiter gab mir folgenden Tipp =/
Java:
rueckgabe = new Long(eingabeString()).longValue();

blöd, das ich nach 30 minuten und X-facher gleicher änderung der wörter String, Long, long überhaupt nicht weiterkomme =/

Kann mir wer helfen? evtl die zeile von string auf int und ne kurze erklärung warum das nicht in meinen kopf geht? ^^ ???:L

Vielen Dank im vorraus...


LG eXi
 
auf long oder auf int?
Java:
rueckgabe = Long.parseLong(eingabeString());
// oder
rueckgabe = Integer.parseInt(eingabeString());
 
oder new Integer(eingabe.toString()).intValue()

Weiss leider nicht was performanter ist (also parseInt() oder das obige). Vielleicht läuft ja im
Hintergrund auch das Selbe ab. Habs mir noch nie angeschaut.
 
Warum das nicht in Deinen Kopf geht weiss ich auch nicht, kann Dir das nicht erklären ;-)

Grundlegend musst Du trennen zwischen Objekten und elementaren Datentypen.

String ist ein Objekt.
Long ist ebenfalls ein Objekt

long hingegen ist ein elementarer Datentyp.

Es gibt somit eine Klasse String und eine Klasse Long, die jeweils Methoden zur Verfügung stellen.

Elementare Datentypen (man erkennt die an dem kleingeschriebenen Wort) haben keine Methoden.

Ein String Objekt kann man nun, vorrausgesetzt es entspricht der Syntax eines Longs in eben dieses umwandeln.

Long.parseLong(String) erzeugt also ein Objekt der Klasse Long und übernimmt (wenn möglich) die Daten aus dem String.
Wenn Du nun den Wert als elementaren Datentypen aus dem Long Objekt haben willst, beispielsweise um damit zu rechnen, dann musst Du Dir den noch zusätzlich ausgeben. Das wiederum macht die Methode longValue().

Analog dazu bekommst Du mittels intValue() aus einem Integer Objekt das int (elementarer Datentyp).
 
Long.parseLong(String) erzeugt also ein Objekt der Klasse Long und übernimmt (wenn möglich) die Daten aus dem String.
Wenn Du nun den Wert als elementaren Datentypen aus dem Long Objekt haben willst, beispielsweise um damit zu rechnen, dann musst Du Dir den noch zusätzlich ausgeben. Das wiederum macht die Methode longValue().

Analog dazu bekommst Du mittels intValue() aus einem Integer Objekt das int (elementarer Datentyp).
Das ist falsch
Long.parseLong(String) gibt kein Objekt zurück!
Wenn du ein Long Objekt haben willst musst du
Long blub = new Long(String); benutzen und um daraus einen elementaren datentyp blub.longValue()

das gleiche gilt für int/Integer usw.
 

Neue Themen


Zurück
Oben