求教java中Collections中sort泛型的问题。
publicstatic<TextendsComparable<?superT>>voidsort(List<T>list)--------------(List<T>l...
public static <T extends Comparable<? super T>> void sort(List<T> list)
--------------
(List<T> list)我能理解,是比较传入的集合用的。
------
前面的public static <T extends Comparable<? super T>> 中的<T extends Comparable<? super T>> 是什么意思,干嘛用的
--
初学者自学中,有什么特别笨的地方请见谅。。。 展开
--------------
(List<T> list)我能理解,是比较传入的集合用的。
------
前面的public static <T extends Comparable<? super T>> 中的<T extends Comparable<? super T>> 是什么意思,干嘛用的
--
初学者自学中,有什么特别笨的地方请见谅。。。 展开
3个回答
展开全部
就是你的List<T>这个T也就是你要放进去的类型,然后呢这个类型T要实现Comparable接口,这个接口有一个compareTo(T o)方法,你要重写这个方法,在这个方法里面写你的排序规则。sort放回调用这个compareTo(T o)方法排序
举个例子:一个User类
public class User implements Comparable{
private int age;
private String name;
//get set方法我就不写了
//比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整 //数、零或正整数。
//这里我就用age比较
@Override
public int compareTo(T o){
User user=(User)o;
if(user!=null){
if(user.getAge()>this.getAge())
return 1;
else if(user.getAge()<this.getAge())
return -1;
else if(user.getAge()=this.getAge())
reutrn 0;
}
}
}
至于你问的那个是什么意思,那个是泛型,可能你现在还不怎么了解,学到后面就会知道了,有专门讲这一章的
举个例子:一个User类
public class User implements Comparable{
private int age;
private String name;
//get set方法我就不写了
//比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整 //数、零或正整数。
//这里我就用age比较
@Override
public int compareTo(T o){
User user=(User)o;
if(user!=null){
if(user.getAge()>this.getAge())
return 1;
else if(user.getAge()<this.getAge())
return -1;
else if(user.getAge()=this.getAge())
reutrn 0;
}
}
}
至于你问的那个是什么意思,那个是泛型,可能你现在还不怎么了解,学到后面就会知道了,有专门讲这一章的
展开全部
<T extends Comparable<? super T>> 是定义T的类型,必须扩展自Comparable<? super T>
即T必须是一个Comparable能比较的对象。
就是说传入的List<T> 中的T类型,必须继承自Comparable,即必须具有有效的compareTo方法。
自定义的class A{},没有compareTo,就不能List<A> a传入这个Collections.sort(a)方法。
该方法无返回值
即T必须是一个Comparable能比较的对象。
就是说传入的List<T> 中的T类型,必须继承自Comparable,即必须具有有效的compareTo方法。
自定义的class A{},没有compareTo,就不能List<A> a传入这个Collections.sort(a)方法。
该方法无返回值
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法返回类型时T,这个T必须扩展自实现了comparable接口的T的父类或T本身。
如student为T,people为?,people extends comparable,student extends people。
一般情况下,T可以拓展自本身,所以只有student一个类扩展自comparable也是可以的。
我是这样理解的,不对的地方大家指正。
如student为T,people为?,people extends comparable,student extends people。
一般情况下,T可以拓展自本身,所以只有student一个类扩展自comparable也是可以的。
我是这样理解的,不对的地方大家指正。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询