Czy istnieje czysta metoda wyśmiewania klasy za pomocą ogólnych parametrów? Powiedz, że muszę wyśmiewać klasę, Foo<T>
którą muszę przekazać do metody, która oczekuje Foo<Bar>
. Z łatwością mogę wykonać następujące czynności:
Foo mockFoo = mock(Foo.class);
when(mockFoo.getValue).thenReturn(new Bar());
Zakładając, getValue()
zwraca typ ogólny T
. Ale to będzie miało kocięta, kiedy później przekażę to do metody, która się spodziewa Foo<Bar>
. Czy casting jest jedynym sposobem na zrobienie tego?