Funktionen auf der Rückgabe eines Stacks (pop)

jonathan

Mitglied
Hallo,
ich habe glaube ich irgendwo einen Denkfehler.
Und zwar habe ich einen Stack (freeFieldStack) mit mehreren "freeFields". Auf dem Objekt freeField kann ich die Funktion "getValue" benutzen, welche auch funktioniert.
Warum kann ich die Funktion dann nicht so benutzen: freeFieldStack.pop().getValue(); ?
Würde mich über eine Erklärung freuen,
Danke schon mal :)

PS: ein Freund riet mir mit "peek" das Objekt in einen temporären freeField zu speichern, dort dann auszulesen, und dann mit pop das Objekt zu löschen. Das geht soweit.
 

jonathan

Mitglied
Java:
        Stack freeFieldStack =new Stack<freeField>();
        for(int i=0; i<freePos[0].length; i++){
            freeFieldStack.add(new freeField(freePos[0][i], freePos[1][i], freePos[2][i]));
        }
       
        while(!freeFieldStack.isEmpty()){
            freeField temp = (freeField) freeFieldStack.peek();     //Funktioniert
            System.out.println(temp.getValue());
            freeFieldStack.pop();
           
            System.out.println((freeField) freeFieldStack.pop().getValue);  //Funktioniert nicht
        }
 

Robat

Top Contributor
Entweder:
Java:
Stack<freeField> stack = new Stack<>();
System.out.println( stack.pop().getValue() );
oder
Java:
Stack stack = new Stack<>();
System.out.println( ( (freeField) stack.pop() ).getValue() );
Wobei ich Variante 1 bevorzugen/empfehlen würde.
 

looparda

Top Contributor
Auch wenn es Robat schon mit Code kenntlich gemach hat möchte ich ergänzen:
Das Problem ist, dass du in deiner Variante durch nicht-spezifizieren des Typ-Parameters im Endeffekt stehen hast:
Java:
Stack<Object> stack = new Stack<>();
Damit liefert dir auch Stack#peek ein Object zurück, welches erst zu Field gecastet werden musst. Das ist natürlich hässlich und eben dafür gibt es Generics.
 

mrBrown

Super-Moderator
Mitarbeiter
Auch wenn es Robat schon mit Code kenntlich gemach hat möchte ich ergänzen:
Das Problem ist, dass du in deiner Variante durch nicht-spezifizieren des Typ-Parameters im Endeffekt stehen hast:
Das ist btw nicht richtig, es ist dadurch ein Raw-Type. Dadurch werden zB alle Generischen Methoden in der Klasse explizit zu nicht generischen, anders als bei der Angabe von <Object> oder auch <?> ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Erste Schritte Bisektion mit zwei Funktionen? Java Basics - Anfänger-Themen 1
J Verständnisfrage zu throws neben Funktionen Java Basics - Anfänger-Themen 2
A Variablen Definitionen zu Codes und Funktionen. Java Basics - Anfänger-Themen 3
Z If Funktionen, GUI, Fachklasse Java Basics - Anfänger-Themen 25
H Frage zu Methoden/Funktionen Java Basics - Anfänger-Themen 3
M Vererbung Funktionen in Basisklasse deklarieren Java Basics - Anfänger-Themen 4
J Funktionen Java Basics - Anfänger-Themen 9
S Klassen Class mit Funktionen importieren Java Basics - Anfänger-Themen 1
B Funktionen von außen aufrufen Java Basics - Anfänger-Themen 1
M Klassen Funktionen aus anderen Klassen benutzen Java Basics - Anfänger-Themen 3
G funktionen der super-klasse von der super-klasse Java Basics - Anfänger-Themen 6
R Funktionen Synchron laufen lassen Java Basics - Anfänger-Themen 10
K Ungenauigkeit beim Zeichnen von Funktionen Java Basics - Anfänger-Themen 6
S Welche Datenstruktur ist die optimalste um Funktionen fuer bestimmte Wertebereiche abzurufen..? Java Basics - Anfänger-Themen 5
A ganzrationale funktionen auswerten. Java Basics - Anfänger-Themen 1
S Funktionen/Atrribute nur innerhalb einer package Zugänglich machen Java Basics - Anfänger-Themen 8
Z Differenz zwischen 2 Daten berechnen, ohne importiere Funktionen! Java Basics - Anfänger-Themen 10
S Funktionen zeichnen Java Basics - Anfänger-Themen 2
K Methoden Funktionen und Prozeduren Java Basics - Anfänger-Themen 11
R Rekursionen und Funktionen ... Java Basics - Anfänger-Themen 8
J Funktionen automatisiert aufrufen Java Basics - Anfänger-Themen 5
B Funktionen programmieren, die im Hintergrund aktiv sind Java Basics - Anfänger-Themen 2
O Funktionen dateiübergreifend mit Packages Java Basics - Anfänger-Themen 6
S Parameterübergabe - identische Funktionen, aber falsche Funktion Java Basics - Anfänger-Themen 5
M Methoden Funktionen Java Basics - Anfänger-Themen 6
M Erste Schritte Fenster Und VB Funktionen Java Basics - Anfänger-Themen 8
G Aufruf externer Funktionen Java Basics - Anfänger-Themen 7
J Aufruf von Funktionen in *.jar mittels Eclipse Java Basics - Anfänger-Themen 4
0 Reguläre Ausdrücke und Funktionen Java Basics - Anfänger-Themen 2
D Abstrakte Klassen und Interfaces als Paramter in Funktionen Java Basics - Anfänger-Themen 3
B Ausgabe problem in Funktionen Java Basics - Anfänger-Themen 6
L Hat java keine virtuellen funktionen?? Java Basics - Anfänger-Themen 6
A Funktionen und Arrays Java Basics - Anfänger-Themen 2
C funktionen nur static? Java Basics - Anfänger-Themen 6
M MouseAdapter - auf Funktionen zugreifen Java Basics - Anfänger-Themen 13
L Funktionen addRow und deleteRow Java Basics - Anfänger-Themen 6
D Mathematische Funktionen Zeichnen Java Basics - Anfänger-Themen 2
D Variableninhalt über mehrere Funktionen ? Java Basics - Anfänger-Themen 3
Out.println Funktionen Java Basics - Anfänger-Themen 7
D Verständnisfrage zu Funktionen Java Basics - Anfänger-Themen 6
B Mathematische Funktionen Java Basics - Anfänger-Themen 3
D Warum sollte ich bestehende Funktionen "extend"en? Java Basics - Anfänger-Themen 32
M Statische und nicht-statische Funktionen: Desktop.browse(uri); Java Basics - Anfänger-Themen 4
N Funktionen berechnen in Java Java Basics - Anfänger-Themen 18
Kasoki Eigene Funktionen / Commands Java Basics - Anfänger-Themen 14
Q Nach Stringvorgabe bestimmte funktionen ausführen Java Basics - Anfänger-Themen 3
K zwei Funktionen, ein BufferedReader? Java Basics - Anfänger-Themen 8
A Static in Funktionen bringen Java Basics - Anfänger-Themen 7
J Funktionen in Java? Java Basics - Anfänger-Themen 3
A frage zur integration von funktionen anderer klassen Java Basics - Anfänger-Themen 2
T Funktionen Plotter - Klassen/Methoden/Funktionen Java Basics - Anfänger-Themen 13
A ChatGUI: Scrollbar und Funktionen Java Basics - Anfänger-Themen 5
S wann static Funktionen wann nicht Java Basics - Anfänger-Themen 6
W Funktionen mit Default werten Java Basics - Anfänger-Themen 10
G Müssen globale Funktionen immer "static" sein? Java Basics - Anfänger-Themen 13
S Überladen von Funktionen vermeiden Java Basics - Anfänger-Themen 5
B Funktionen ausführen vorm Beenden des Programmes Java Basics - Anfänger-Themen 13
M Mathematische Funktionen zeichnen. Java Basics - Anfänger-Themen 2
A mathematische Funktionen grafisch darstellen Java Basics - Anfänger-Themen 8
G Funktionen? Java Basics - Anfänger-Themen 7
S 2 regex-Funktionen benötigt Java Basics - Anfänger-Themen 4
S anzahl von funktionen Java Basics - Anfänger-Themen 9
B in der .Jar funktionieren nicht alle Funktionen Java Basics - Anfänger-Themen 18
X Threads+Funktionen Java Basics - Anfänger-Themen 6
S Explorer funktionen nachprogrammieren Java Basics - Anfänger-Themen 2
P Rexex - stringtokenizer - String funktionen allgemein Java Basics - Anfänger-Themen 3
G Problem mit nicht statischen Funktionen Java Basics - Anfänger-Themen 7
S Return bei Funktionen Java Basics - Anfänger-Themen 8
ven000m Rekursive Funktionen - Frage Java Basics - Anfänger-Themen 16
D Funktionen/Methoden/Variablen includieren? :) Java Basics - Anfänger-Themen 4
V funktionen/Variablen f. unterschiedliche Klassen definierne? Java Basics - Anfänger-Themen 6
M mehreren klassen die gleichen funktionen bereitstellen? Java Basics - Anfänger-Themen 3
G Über undo, copy, cat, paste, delete Funktionen Java Basics - Anfänger-Themen 3
S Rekursive Funktionen in imperative Funktionen umwandeln Java Basics - Anfänger-Themen 2
Niki_Tesla 2 Fragen / Funktionen? Java Basics - Anfänger-Themen 4
B Code von Java-Funktionen einsehen Java Basics - Anfänger-Themen 2
B Mathematische funktionen Berechnen und ausgeben lassen?WIE? Java Basics - Anfänger-Themen 2
H Parameterübergabe zwischen einzelnen Funktionen Java Basics - Anfänger-Themen 4
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
G Endlosschleife keine Rückgabe Java Basics - Anfänger-Themen 36
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
H Methode mit Array als Rückgabe This method must return a result of Type int[] Java Basics - Anfänger-Themen 2
Z Rückgabe eines Values in umgekehrte richtung Java Basics - Anfänger-Themen 5
M Rückgabe eines Arrays Java Basics - Anfänger-Themen 10
R Methode Rückgabe Java Basics - Anfänger-Themen 10
D Methode mit Übergabe double und Rückgabe String Java Basics - Anfänger-Themen 2
J Rückgabe-Problem Java Basics - Anfänger-Themen 10
B Rückgabe von zwei Werten: String und double Java Basics - Anfänger-Themen 14
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
karlmasutra Klassen Rückgabe eines Wertes aus einer anderen Klasse Java Basics - Anfänger-Themen 3
V Methoden Rekursive Methode mit String als Rückgabe Java Basics - Anfänger-Themen 7
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
S Rekursion Rückgabe - Türme von Hanoi Java Basics - Anfänger-Themen 16
F Konsolen Befehl ausführen und Rückgabe auswerten Java Basics - Anfänger-Themen 3
F Get/Post als eigener Thread mit Rückgabe Java Basics - Anfänger-Themen 5
L Probleme bei Rückgabe eines Arrays in einer Methode Java Basics - Anfänger-Themen 47
L Frage zur Rückgabe von Werten bei Methoden Java Basics - Anfänger-Themen 4
P Rückgabe erflogt nicht als Double Java Basics - Anfänger-Themen 2
D Methoden ArrayList Rückgabe bringt komische Werte Java Basics - Anfänger-Themen 12
M Übergabe / Rückgabe Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben