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

问题是,对于带有Expression expected的GenericTypeMatcher的受支持类型,我得到一个Class<T>错误。

您知道如何解决吗?

最佳答案

这里的问题是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);

10-04 17:57