yur*_*ura 4 java compiler-construction generics
例如,java.util.Collections中的check方法
public static <T> int binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
Run Code Online (Sandbox Code Playgroud)
为什么我可以这样定义它:
public static <T> int binarySearch(List<T> list, T key, Comparator<T> c)
Run Code Online (Sandbox Code Playgroud)
为什么这在java中不起作用?
Jon*_*eet 14
您可以通过这种方式定义它,但是那样就不会让您List<Circle>
使用a Comparator<Shape>
来搜索.
基本上,这里表达的差异允许更大的灵活性,同时保持类型安全性.