Czy istnieje sposób dopasowania dowolnego argumentu klasy w poniższej przykładowej procedurze?
class A {
public B method(Class<? extends A> a) {}
}
Jak zawsze mogę zwrócić, new B()
niezależnie od tego, do której klasy jest przekazywana method
? Poniższa próba działa tylko w konkretnym przypadku, w którym A
jest dopasowany.
A a = new A();
B b = new B();
when(a.method(eq(A.class))).thenReturn(b);
EDYCJA : jednym rozwiązaniem jest
(Class<?>) any(Class.class)
Class<?>
niesamowity!