java - 我无法编译 hamcrest hasKey() 方法

标签 java generics junit hamcrest

这是代码:

Map<Foo, String> map;
org.hamcrest.MatcherAssert.assertThat(map, 
  org.hamcrest.Matchers.hasKey(new Foo()));

这是编译器的意思:

cannot find symbol method assertThat(java.util.Map<Foo,java.lang.String>,
org.hamcrest.Matcher<java.util.Map<Foo,java.lang.Object>>)

为什么以及我能做什么?

最佳答案

我怀疑你需要这样的东西:

MatcherAssert.assertThat(map, Matchers.<Foo, String>hasKey());

这样您就可以为 hasKey 方法调用指定值类型。虽然看起来很丑,我有点惊讶类型推断对你没有帮助......

关于java - 我无法编译 hamcrest hasKey() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6865991/

相关文章:

java - 使用 ArrayList 以外的东西

c# - 保存通用列表

java - CallableStatement.close() 会导致性能问题

java - 在 Eclipse Helios 中,无法回滚插件安装

java - 我可以为 OpenGL 中的静态对象推送一次矩阵吗?

java - 将 HttpUnit+junit 组织为独立应用程序的最佳设计

java - Spring MVC : ServletContext in JUnit Test?

c# - 通用表<TEntity>

c# - 通用列表 - 在列表中移动一个项目

java - 无法在任何地方调试 Junit 测试