Error: Type mismatch: cannot convert from (Object)=>int to int using Java Xtend

Error: Type mismatch: cannot convert from (Object)=>int to int using Java Xtend

我在拆分 excel 中的数据提取时出错。当我在 a.java 时,它有效。但是现在我正在将我的脚本转换为 Java Xtend,现在我遇到了以下错误。

这是代码

var dashboards = M3ASmokeTest.ReadExcelFile();
var countdsh = 0;
var countdom = 0;
var countrep = 0;
Thread.sleep(20000);
for(String groupedDomain: dashboards)
{
    var domain = dashboards.get(countdom).split(";")[0];
    var dboards = dashboards.get(countdsh).split(";")[1];
    var reports = dashboards.get(countdsh).split(";")[2];'
}

必须承认,我不知道 xtend,但从文档中可以看出:

https://www.eclipse.org/xtend/documentation/2.3.0/Documentation.pdf 第 39 页

When a method call’s last parameter is a lambda it can be passed right after the parameter list. For instance if you want to sort some strings by their length, you could write :

Collections::sort(someStrings) [ a, b | a.length - b.length ]

所以方括号表示 lambda 表达式,这就是你得到的(所以我猜 xtend 中的一个错误,它在你的情况下错误地尝试应用它)。

由于 xtend 似乎自动将数组转换为列表(第 15 页),请尝试将 [0] 替换为 get(0),因此:

var domain = dashboards.get(countdom).split(";").get(0);