Java: Probleme mit toString -methode

Neue Frage »

Auf diesen Beitrag antworten »
HarryPotter Java: Probleme mit toString -methode

Guten Tag erstmal,

also ich habe eine Variable deklariert
private Object daten;

diese Variable bekommt im Verlauf des programms einen int-wert (ganzzahligen wert)zugewiesen (über eine andere Klasse deren Instanz einfach nur ein int -wert ist)

Also ich weiß das und möchte diesen "ganzzahligen Wert (z.B. 5)" jetzt rauslesen und ausgeben lassen:

mit daten.toString();

kommt ja nun: Blabla@leo2444 ist mir klar.

Aber weiß jemand wie ich die 5 rausbekomme, so das ich die 5 ganz normal ausgeben kann?
 
Auf diesen Beitrag antworten »
Crotaphytus

Warum ist daten vom Typ Object? Könntest du das nicht weiter einschränken?

Ansonsten sollte, wenn das wirklich ein Integer ist, dies auch von der JVM erkannt werden (Stichwort spätes Binden), so dass hier die toString-Methode von Integer aufgerufen wird. Außer natürlich, deine andere Klasse macht in der Hinsicht auch komische Sachen...
Auf diesen Beitrag antworten »
HarryPotter

ja, das ist eben so eine Übungsaufgabe und die Klassenbeschreibungen waren vorgegeben. Also daten wird eine Instanz einer Klasse zugewiesen, in der nur eine integer variable deklariert wird und ein konstruktur dem man den wert für diese integer-variable übergibt(4 Zeilen). KA was JVM da erkennt, ich bin gerade dabei irgendwie mit gettern dran zu kommen, dazu muss ich aber casten, was zur exception führt. compilieren tuts, aber er sagt daten kann nicht von dings zu bums gecastet werden...)
Auf diesen Beitrag antworten »
Tobias

Versuchs mal mit Type-Cast:

code:
1:
2:
3:
4:
5:
6:
public String toString() {
   if (daten instanceof Integer)
      return ((Integer)daten).toString();
   
   return daten.toString();
}
 
Auf diesen Beitrag antworten »
HarryPotter

danke für den tip, ich habs gleich probiert, klappt aber nicht, ist also keine instanz von Integer...
Auf diesen Beitrag antworten »
HarryPotter

Hey Jawoll! Mit instanceof klappts, jetzt komm ich an den Wert ran...

thx Tobias
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »