java泛型使用

在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文件会将将泛型去除,也就是有一个“擦除”的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值