java - Xtend 语法澄清

标签 java syntax xtend

我试图 100% 理解以下 Xtend 语法的含义:

        myVar.addSelectionListener(
           [MultiSelectionEvent<String> event |
               println(event.toString)
           ]
        )
  • myVar 是一个 com.vaadin.ui.CheckBoxGroup
  • addSelectionListener 假设接收一个 com.vaadin.event.selection.MultiSelectionListener接口(interface)

在实现MultiSelectionListener时,必须实现selectionChange方法,该方法本身采用MultSelectionEvent对象作为参数。

据我所知,在上面的代码中,我在代码中提供了内联实现。但有人可以提供有关语法的更多详细信息吗?

例如,我们什么时候在 Xtend 中使用 [ ]|

最佳答案

这是 Xtend 的 lambda 语法。所以在 Java 中你可以这样写:

    myVar.addSelectionListener(
       (MultiSelectionEvent<String> event) -> {
           println(event.toString)
       }
    );

Xtend 只是替换 (params)=>{code}[<params>|<code>] .

关于java - Xtend 语法澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47304010/

相关文章:

Bash 语法错误 : unexpected end of file

c# - 为什么 C# 允许在集合初始值设定项中使用尾随逗号,但不允许在参数中使用?

java - xtend toEnumerateType/通过 xtend 生成 Java 枚举的示例?

java - xtext,内容协助不需要的建议

mapping - 使用 Java 和任何外部库,如何将纬度/经度点绘制到地球的图形表示上?

Java将2个字符串与变量中的精确匹配项相匹配

java - 使用 Php-Java 桥

php - 在 PHP 中使用 `new ClassName` 和 `new ClassName()` 创建对象的区别

java - Xtext 2.9 范围提供者

java - 在 tomcat 中部署 GWT