如何从 EasyMock.anyObject(List.class) 调用中删除警告
编译器无法停止抱怨这个调用:
EasyMock.anyObject(List.class)
我试图指定列表的类型
EasyMock.anyObject(List<MyType>.class)
但它似乎不是一个选项(无论如何,这是愚蠢的,因为java会在编译过程中擦除该类型)
有没有一种干净的方法(@SuppressWarning不是IMO的干净方法)来删除此警告?
谢谢
编译器无法停止抱怨这个调用:
EasyMock.anyObject(List.class)
我试图指定列表的类型
EasyMock.anyObject(List<MyType>.class)
但它似乎不是一个选项(无论如何,这是愚蠢的,因为java会在编译过程中擦除该类型)
有没有一种干净的方法(@SuppressWarning不是IMO的干净方法)来删除此警告?
谢谢
这是不可能的。我称之为通用限制。可悲的是,并不总是能够删除某些完全正常用法的警告(例如使用泛型类的类)。
但是,使用EasyMock,您可以执行以下操作:
EasyMock.<List<MyType>> anyObject()
这将做同样的事情,但没有警告。您使用的 anyObject 之所以存在,是因为它更具可读性,并且允许静态导入。
仅作为建议:
interface A extends List<MyType> {};
EasyMock.anyObject(A.class)