如何从EasyMock.anyObject(List.class)调用中删除警告

Dra*_*kar 32 java generics warnings easymock

编译器不能停止抱怨这个电话:

EasyMock.anyObject(List.class) 
Run Code Online (Sandbox Code Playgroud)

我试图指定列表的类型

EasyMock.anyObject(List<MyType>.class)
Run Code Online (Sandbox Code Playgroud)

但它似乎不是一个选项(无论如何,它是愚蠢的,因为java将在编译期间擦除类型)

是否有一种干净的方式(@SuppressWarning不是一种干净的IMO方式)来删除此警告?

谢谢

小智 61

这是不可能的.我称之为通用限制.遗憾的是,并不总是可以删除一些完全正常使用的警告(比如使用泛型类的类).

但是,使用EasyMock,您可以执行以下操作:

EasyMock.<List<MyType>> anyObject()
Run Code Online (Sandbox Code Playgroud)

这将做同样的事情但没有警告.您使用的anyObject存在,因为它更具可读性并允许静态导入.