首页 > 解决方案 > 错误:类型不匹配:无法使用 Java Xtend 从 (Object)=>int 转换为 int

问题描述

从 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];'
}

标签: javaselenium-webdriverxtendkrypton

解决方案


必须承认,我不知道 xtend,但从文档中它说:

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

当方法调用的最后一个参数是 lambda 时,它可以在参数列表之后立即传递。例如,如果你想按长度对一些字符串进行排序,你可以这样写:

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

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

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

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

推荐阅读