java泛型使用

来源:互联网 发布:网络在线平交流平台 编辑:程序博客网 时间:2024/06/02 00:12

在jdk1.5以前我们开发可能会遇到这样一种情况,我们 在使用集合时会出现类型转换错误,为了解决这一情况, 在jdk1.5以上引入了泛型概念,那么怎么使用呢?

泛型定义 比如arraylist<String>,public void <T> T demo(){}等,比如以下使用:

public class GenericDemo1 {
//泛型类型使用前必须先声明
//<T>就是声明的泛型类型,放在返回值的前面
public <T> T func1(){
return null;
}

public <T> void func2(T t){

}
public <T> void func3(Class<T> clazz){

}
}

同时我们也可以定义在类层上:

public class GenericDemo2<T> {
public T func1(){
return null;
}

public void func2(T t){

}
public void func3(Class<T> clazz){

}
//静态方法都必须先声明才能使用
public static <T> void func4(T t){

}
//Map结构
public static <K,V> V getKey(K k){
return null;
}
}

注意:不同的是如果方法为静态时我们就必须在方法上定义泛型类型。使用泛型之后我们可以定义我们所使用的参数类型,在编辑时进行检测,而避免了执行时因为类型的问题而异常,编辑器编辑成功之后,生成。class文件会将将泛型去除,也就是有一个“擦除”的过程。

原创粉丝点击