Xtend 创建显式类型的变量

Xtend creating variable of explicit type

我想遍历 Expression 类型的对象列表并选择最后一个,但是我无法这样做,因为 Xtend 具有隐式类型推断。

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

如果我在 null 上初始化 myexp,它不起作用(类型冲突),如果创建变量而不赋值,也是错误的...有什么办法吗? 谢谢

Xtend 还允许显式类型,这就是您在这里需要的:

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

或者使用 Iterable 扩展:

val myexp = statements.filter(Something).head