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. mysql怎么修改约束啊2. javascript - 微信 H5 授权 返回键3. objective-c - iOS开发支付宝和微信支付完成为什么跳转到了之前开发的一个app?4. android - 在win7配置 react native开发环境时,一直卡在这里,请问以下是哪里出错了,谢谢!5. ,我写的代码哪里出错了?为什么就是显示不出来peter?6. python - flask post提交timestamp不能作为参数,这是为什么?7. android - 安卓使用webview播放腾讯、优酷视频的方法8. PHP类属性声明?9. mysql sql where id in(25,12,87) 结果集如何用按照 25 12 87排序?10. 为什么微信内置浏览器用$_COOKIE取不到值?