7
¿Cuándo requieren los genéricos de Java <? extiende T> en lugar de <T> y ¿hay alguna desventaja de cambiar?
Dado el siguiente ejemplo (usando JUnit con los emparejadores Hamcrest): Map<String, Class<? extends Serializable>> expected = null; Map<String, Class<java.util.Date>> result = null; assertThat(result, is(expected)); Esto no se compila con la assertThatfirma del método JUnit de: public static <T> void assertThat(T actual, Matcher<T> matcher) El mensaje de error del compilador es: …