OOP Probleme mit einer Codezeile

sijavoge

Mitglied
Hallo zusammen,

ich bin Java Neuling und sitze gerade vor einem recht komplizierten Programm.
Ich verstehe nicht ganz was die folgende Zeile macht:

if (((ServerItem)serverList.getActiveElement().getData()).start(anweisungen,runOnceAnweisungen.clone())){


code

}


Hoffe es kann mir da jemand weiterhelfen.
Dnke in vorraus


sijavoeg
 
ich würde darauf tippen, dass er bei einem ServerItem (welches gerade das Aktive ist) eine anweisung ausführt und prüft ob dieser erfolgreich war. Aber ohne mehr Informationen zu [c]ServerItem[/c], [c]anweisung[/c] und [c]runOnceAnweisungen[/c] lässt sich dazu nicht mehr sagen.
 
Hi,

danke für die schnelle Antwort. Ich habe mich noch ein wenig durchgekämpft und versteh zumindesten was grob gemacht wird. Ich habe aber nach wie vor ein Problem mit fogender Syntax:

(servetItem)serverList

serverItem ist eine Klasse
und serverList eine Liste

Die Syntax habe ich in Java noch nicht gesehen. Fehlt da nicht ein Punk oder sind die Klammern nicht falsch gesetzt?

sijavoge
 
Java:
((ServerItem)serverList.getActiveElement().getData())

Code:
serverList
ruft das mit der Methode
Code:
getActiveElement()
-wahrscheinlich- das aktive Element auf und lässt sich per
Code:
getData()
die Daten geben....diese Daten werden dann gecastet zu einem
Code:
ServerItem
=> also was auch immer da ankommt, ist ab hier (oder soll zumindest so sein) ein Objekt vom Typ
Code:
ServerItem
, wenn dir keine ClassCastException um die Ohren fliegt!
 
Das ist wahrscheinlich ein Cast, also eine Typumwandlung (das Element, das bei serverList.getActiveElement() aus der Liste geholt wird, wird in den Typ ServerItem gecastet). Inwiefern das hier Sinn ergibt, kann ich aber nicht sagen.

Edit: Zu langsam ^^
 

Zurück
Oben