java - 一个泛型标签问题
问题描述
新手问一个泛型问题
public static void main(String[] args) {ArrayList<Student> al = new ArrayList<>();al.add(new Student('大石榴',17,100));al.add(new Student('地雷',20,80));al.add(new Student('张大炮',21,60));Comparator<Student> cp = new Comparator<Student>() {@Override public int compare(Student o1, Student o2) {return o1.getAge() - o2.getAge(); }}; Collections.max(al, cp);//public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)//这是max方法的源码.// <T> 这个泛型在哪获取到的?for(Student st : al){ System.out.println(st);} }
问题解答
回答1:Java中的泛型都是使用了类型擦除,你这里的<T> 只是一个类型变量。这个方法里面也只是用来代表@param <T> the class of the objects in the collection
相关文章:
1. docker网络端口映射,没有方便点的操作方法么?2. docker镜像push报错3. java - springboot使用容器加载时,如何预先获取ClassLoader资源?4. javascript - webpack build出错后如何定位文件?5. 怎么在phpstudy中用phpexcel上传数据到MYSQL?6. vue.js - 为什么我的vue项目上传到github不能预览?7. css3 邊框漸層 及 ios背景模糊?8. html5 - 想要写一个H5页面,就微信打开来那种,然后几个输入框,把数据保存在我后台(java)的数据库里,实现思路是怎样的?9. java - AtomicInteger等原子类,是不是不用volatile修饰,自带volatile属性?10. android - 百度地图加载大量marker点有没有比较好的解决方案