Java中泛型的理解
浏览量:1764
时间:2024-01-16 21:06:29
作者:采采
泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
泛型类或泛型接口
如果一个类要和别的N个类型打交道,但是处理的逻辑都是一样的,我们可以把要处理的类作为类参(泛型),减少重复的代码。
class AListForStudent{
void add(Student stu){
...
}
Student get(int index){
}
}
class AListForTeacher{
void add(Teacher stu){
...
}
Teacher get(int index){
}
}
class AList{
void add(Object stu){
...
}
}
上面的代码展示了三种处理不同类型对象的方式:完全重复的逻辑,只是运算因子不一样,用方法的封装去解决;完全重复的逻辑,只是实例状态不同,用继承去解决;完全重复的逻辑,只是面向的具体类型不同,用泛型去解决。
class AListlt;Tgt;{
// T待定,泛型类中可以把T当作一个类型来使用。一旦确定,所有T出现的地方都会被真实的类型替代
void add(T stu){
...
}
T get(int index){
}
}
AListlt;Studentgt; stuList new AListlt;Studentgt;();
(new Teacher()); // 编译错误
(new 好学生()); // 正确
泛型方法
lt;Tgt; Listlt;Tgt; queryForList(String query, Classlt;Tgt; claz, Object... params)
调用:
Listlt;Studentgt; stuList queryForList(sql, );
上面的代码展示了一个泛型方法的例子,通过在方法签名中使用lt;Tgt;声明类型参数,使得该方法可以返回不同类型的List。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
下一篇
Steam如何创建收藏夹