简介:
泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。
在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。
简单实例:
/**
* @param a
* @return
* 不定长参数列表,实际上是一个数组
*/
@SuppressWarnings("unchecked")
public static <T> T getMiddle(T... obj){
if(null == obj){
return null;
}
for (T t : obj) {
if ("abc".equals(t)) {
return t;
}
}
return obj[obj.length/2];
}
/**
* 判断一个值是否为空
* @param a
* @return
*/
public static <T> boolean isNull(T a){
if(null != a){
return true;
}else{
return false;
}
}