Странный обобщенный случай с Mockito.when () и выводом обобщенного типа

Я пишу тестовый пример, в котором используетсяjava.beans.PropertyDescriptor используя Mockito, и я хочу издеваться над поведениемgetPropertyType() вернуть произвольныйClass<?> объект (в моем случае,String.class). Обычно я бы сделал это, просто вызвав:

// we already did an "import static org.mockito.Mockito.*"
when(mockDescriptor.getPropertyType()).thenReturn(String.class);

Однако, как ни странно, это не компилируется:

cannot find symbol method thenReturn(java.lang.Class<java.lang.String>)

Но когда я указываю параметр типа вместо зависимости от логического вывода:

Mockito.<Class<?>>when(mockDescriptor.getPropertyType()).thenReturn(String.class);

все чертовски дорого Почему в этом случае компилятор не может правильно определить тип возвращаемого значения where ()? Мне никогда не приходилось указывать этот параметр раньше.

Ответы на вопрос(1)

Ваш ответ на вопрос