如何在 Xtend 2 中动态初始化一个变量

How to initialize a variable dynamically in Xtend 2

这是我在 Xtend 中写的 class:

    def getEntityList(String indct, String criterion) {
    var entities
    Switch(indct){
    case "PAR": entities = obj.getParamList.filter[definition.contains(criterion)]
    case "REF": entities = obj.getRefList.filter[definition.contains(criterion)]
    default: entities = null
    }
return entities
}

与上面的代码一样,entities 是一个原始列表类型,我试图根据条件对其进行初始化。根据条件,实体列表将具有参数或引用。 我认为这不像 Perl 那样直接,因为 Xtend 是一种静态类型的语言。

如何在 Xtend 2 中实现上述目标?

var entities = switch(indct) {
  case 'PAR': obj.getParamList.filter[definition.contains(criterion)]
  case 'REF': obj.getRefList.filter[definition.contains(criterion)]
}

entities 现在的类型是 List<? extends "common super type of param and ref">。这就是你要的吗?