2016-04-15 17 views
0

Ich möchte eine Liste von Objekten vom Typ Expression aufrufen und die letzte davon auswählen, aber ich kann dies nicht tun, weil Xtend eine implizite Typ-Inferenz hat.Xtend creating Variable des expliziten Typs

var myexp= null 
for (statement : statements) { 
    if (statement instanceof something) 
     myexp=statement 
} 

wenn i myexp auf null zu initialisieren, es funktioniert nicht (gegensätzliche Typen), wenn die Variable ohne Zuordnung erstellen, ist es zu Fehlern ... Gibt es eine Möglichkeit? Danke.

Antwort

2

Xtend ermöglicht auch explizite Typen, und das ist, was Sie brauchen hier:

var Something myexp 
for (statement : statements) { 
    if (statement instanceof Something) 
     myexp = statement 
} 

Oder nutzen Sie die Iterable Erweiterungen:

val myexp = statements.filter(Something).head 
+0

Ich denke, dass Sie Filter gemeint (etwas) .last –