Question

Compiler can't stop complaining with this call :

EasyMock.anyObject(List.class) 

I tried to specify list's type

EasyMock.anyObject(List<MyType>.class)

but it doesn't seems to be an option (anyway, it is stupid since java will erase the type during the compilation)

Is there a clean way (@SuppressWarning is not a clean way IMO) to remove this warning?

Thank you

Was it helpful?

Solution

It's not possible. I'll call it a generic limitation. Sadly it's not always possible to remove a warning for some perfectly normal usage (like using the class of a generic class).

However, with EasyMock you can do the following:

EasyMock.<List<MyType>> anyObject()

which will do the same thing but without warning. The anyObject you used exist because it's a bit more readable and allows static imports.

OTHER TIPS

Only as suggestion :

interface A extends List<MyType> {};
EasyMock.anyObject(A.class) 

You can also try to use the Hamcrest matcher isA(), instead of anyObject(). The difference between them is that isA-matcher checks the values on null, unlike anyObject. You can learn more about those matchers here

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top