Hallo,
Ich lerne gerade für eine Prüfung und habe ne kurze Frage zum ListIterator.
Erstmal 2 Beispiele:
Bsp1:
getMaut() liefert einen Wert zurück (double)
Bsp2:
evaluate() liefert keinen Wert zurück, also führt nur was aus.
Sowohl komponenten, als auch componentList sind eine "LinkedList".
So nun zu den Fragen:
1) Warum steht beim Aufruf iterator.next() immer vornedran in Klammern der Rückgabewert? Muss das immer so sein?
Wenn ich andere Methoden aufrufe die einen Rückgabewert haben, muss ich das ja auch nicht machen.
2) Warum muss ich beim Bsp1 einen neuen Objektverweis anlegen, während ich beim Bsp2 ohne diese Deklaration auskomme und den vom iterator erhaltenen Wert direkt weiterverwenden kann? Liegt das daran, dass ich beim Bsp1 durch das getMaut() einen Wert zurückerhalte, oder an der Variable maut?
Oder kann ich beim Bsp1 anstelle der 2 Zeilen auch sowas machen:
Ich versuche nun schon ziemlich lange dem auf den Grund zu gehen und finde dazu nichts, wenn mir da einer helfen könnte, wäre ich sehr dankbar.
Ich lerne gerade für eine Prüfung und habe ne kurze Frage zum ListIterator.
Erstmal 2 Beispiele:
Bsp1:
Code:
ListIterator iterator = komponenten.listIterator();
while(iterator.hasNext())
{
Komponente komponente = (Komponente)iterator.next();
maut += komponente.getMaut();
}
Bsp2:
Code:
ListIterator iterator = componentList.listIterator();
while (iterator.hasNext())
{
((Component)iterator.next()).evaluate();
}
Sowohl komponenten, als auch componentList sind eine "LinkedList".
So nun zu den Fragen:
1) Warum steht beim Aufruf iterator.next() immer vornedran in Klammern der Rückgabewert? Muss das immer so sein?
Wenn ich andere Methoden aufrufe die einen Rückgabewert haben, muss ich das ja auch nicht machen.
2) Warum muss ich beim Bsp1 einen neuen Objektverweis anlegen, während ich beim Bsp2 ohne diese Deklaration auskomme und den vom iterator erhaltenen Wert direkt weiterverwenden kann? Liegt das daran, dass ich beim Bsp1 durch das getMaut() einen Wert zurückerhalte, oder an der Variable maut?
Oder kann ich beim Bsp1 anstelle der 2 Zeilen auch sowas machen:
Code:
maut += ((Komponente)iterator.next()).getMaut();