3.类型变量的限定

为什么要限定类型变量?

例:

class Compare {
	public static<T> T min(T a,T b) {
		if(a.compareTo(b)<0) return a;
		if(a.compareTo(b)>0) return b;
		else return null;
	}
}

注:compareTo方法为按照字典顺序,如果第一个字符串比第二个字符串靠前,就返回负值,否则返回正值

在这种情况下,我要怎么确定T有compareTo方法呢
因此

public static <T extends Comparable> T min(T a,T b)...

这样子把T限定为实现了Comparable接口的类就可以了

一个类型变量或通配符可以有多个限定,如:

T extends Comparable & Serializable

限定为实现xx接口可以像上面那样限定多个接口,但是,如果是限定为类的话就只能有一个,而且它必须是限定列表中的第一个

注:本文为《Java 核心技术 卷I》读书笔记及个人理解解释

posted @ 2018-09-09 23:52  肥宅快乐码  阅读(164)  评论(0编辑  收藏  举报