Why does the following work:
public void test(Class<? super Integer> c) { ... }
But the following doesn't:
public <T super Integer> void test(T c) { ... }
Is there any substantial difference I am missing? Using extends
works just as expected.