error: no suitable method found for assertThat(List<Map<String,Object>>,Matcher<Iterable<Map<? extends String,?>>>)
assertThat(data, everyItem(hasKey("index")));
^
method Assert.<T#1>assertThat(T#1,Matcher<? super T#1>) is not applicable
(actual argument Matcher<Iterable<Map<? extends String,?>>> cannot be converted to Matcher<? super List<Map<String,Object>>> by method invocation conversion)
method Assert.<T#2>assertThat(String,T#2,Matcher<? super T#2>) is not applicable
(cannot instantiate from arguments because actual and formal argument lists differ in length)
where T#1,T#2 are type-variables:
T#1 extends Object declared in method <T#1>assertThat(T#1,Matcher<? super T#1>)
T#2 extends Object declared in method <T#2>assertThat(String,T#2,Matcher<? super T#2>)
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
package test;
import org.junit.Test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static org.hamcrest.collection.IsMapContaining.hasKey;
import static org.hamcrest.core.Every.everyItem;
import static org.junit.Assert.assertThat;
public class Test {
@Test
public void test(){
List<Map<String, Object>> data = new ArrayList<>();
Map<String,Object> element = new HashMap<>();
element.put("index", 1);
data.add(element);
assertThat(data, everyItem(hasKey("index")));
}
}
这是嵌套泛型的一个例子。
数据
当前声明为列表
object>
,而everyitem(hasKey(“index”))
被推断为返回匹配器
。
正如编译错误消息所述
List<Map<? extends String, ?>> data = new ArrayList<>();
我试着运行一个thrift网站上提供的thrift服务器和客户端程序,我得到了以下错误。谁能帮我解决这些错误吗。编码可以在以下位置找到:https://thrift.apache.org/tutorial/java
问题内容: 我正在尝试将此JPA QL转换为条件构建器。JBoss 6.0。 我根据一些教程编写了此代码。 但是,我在一行中遇到了一个编译错误: 错误是: 问题答案: 好吧,我终于找到了调用gt()方法的正确方法。这是完整的解决方案。在JBoss 6中经过全面测试。
我在使用汇总编译Vue脚本时遇到问题。我得到的错误是 [!] 错误:节点_modules/vue/dist/vue未导出“openBlock”。运行时。esm。js,由src/js/components/TestButton导入。vue?vue app.js TestButton.vue 卷起来。配置。js 我尝试了很多不同的东西,但似乎没有任何帮助。但是,如果我在配置中的vuePlugin之前加
从Eclipse运行install时,我们没有问题,因为编译器版本设置为1.8。 在终端上运行mvn安装时,我们得到以下错误。 当使用mvn install-X时,我们看到目标1.5 然而,这里是我的java和javac版本 我似乎从我运行的每个版本中,我们应该有1.8的合规性,但maven目标继续尝试安装1.5的合规性。
问题内容: 当我在Netbeans中构建并运行程序时,它可以正常工作。但是当我尝试“ mvn compile”时,使用相同的pom.xml文件会出现以下错误: 我的Java版本不是1.3,这里是“ mvn -version”的结果 这是第53行: 问题答案: 问题是在Maven2中默认使用和 您可以通过将其添加到pom中来解决此问题: 将其放在最顶层的父pom中是很实际的,这样您派生的pom不需要
我遇到了一个初学者的编译错误: 我的简单程序: 我尝试使用以下命令编译它: gcc-g-Wall-ansi launch_瓷砖。c-o tiles\u程序 并得到这些错误: 启动_tiles。c: 在函数“main”中: launch_tiles. c: 17:19:错误:预期')'之前';'令牌 launch_tiles. c: 17:19:错误:太少的参数函数'fget' /usr/inclu