java - 错误: The type T cannot be used in GenericTypeMatcher - Expression expected

标签 java swing assertj

我尝试实现一个泛型方法,该方法将返回类型参数 T 的 GenericTypeMatcher(由 AssertJ Swing 提供)。您可以看到方法 here

问题是我得到了 Expression expected带有 Class<T> 的 GenericTypeMatcher 支持类型的错误.

你知道如何解决吗?

最佳答案

这里的问题是 GenericTypeMatcher接受Class<T>参数。
您正在传递类型定义,这是无效的。

private static <T extends Component> GenericTypeMatcher<T> getMatcher(final Class<T> clazz) {
   return new GenericTypeMatcher<T>(clazz) {
      @Override
      protected boolean isMatching(final T object) {
         return ...
      }
   }
}

使用

YourClass.getMatcher(YourComponent.class);

关于java - 错误: The type T cannot be used in GenericTypeMatcher - Expression expected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55118180/

相关文章:

Java JCheckBox Action 监听器

java - 在 JFileChooser 上使用 JComboBox 列出以组合框第一行文本开头的所有文件

java - 如何使用 FEST assertThat(...) 方法测试类对象之间的相等性?

java - Spring Boot应用程序: Splitting application into seperate tasks to be ran from command line?

java - 如何使用 Java 在 Selenium WebDriver 中按 "ALT+S"

java - 使用 MVC 绘制同心/旋转图形

java - AssertJ:如何使 JsonNode 比较处理 IntNode 和 LongNode 相同?

java - 尝试比较同一类中的两个对象时出现 AssertionFailedError 错误(在覆盖 Equals() 和 Hashcode() 之后)

java - 禁用 seam 的重定向过滤器

java - 使用对帐户可行的 getter 和 setter 函数?