java泛型的意义
首选,我们说一下,为什么要用泛型,泛型来解决什么问题. 泛型解决, 某一个集合类内部添加多个类的某一种类的对象 以前我们想用一个类,来解决这个问题,我们可以这样
Class Test {
private Object obj;
public void setObj(Object ){
this.obj=obj;
}
public Object getObj(){
return this.obj
}
}
//缺点是:向上转化的弊端,无法调用内部对象的自有方法,只能存取.
//另一种方法也可以写出无数个,适配不同类内部类型,当然这样写会很多
Class StringTest {
private String obj;
public void setObj(String ){
this.obj=obj;
}
public String getObj(){
return this.obj
}
}
缺点是:累不累啊,,我都累了.想存多少个得写多少个类.
泛型不但使代码复用而且解决了向上转型的缺点. 泛型的写法: 类型参数(泛型参数)由尖括号包围,多个参数由逗号分隔,如 或 。 建议书写:习惯上使用单个大写字母,通常情况下,K 表示键,V 表示值,E 表示异常或错误,T 表示一般意义上的数据类型。 泛型方法和泛型类; 泛型类:
public class Test {
public static void main(String[] args){
Person person=new Person();
person.setT("一个泛型类");
System.out.println(person.getT());
}
}
class Person{
T t;
public T getT() {
return t;
}
public void setT(T t) {
this.t = t;
}
@Override
public String toString() {
return "Person{" +
"t=" + t +
'}';
}
}
泛型方法:
public class test1 {
public static void main(String[] args){
Person1 person = new Person1();
person.doubleT("泛型方法");
}
}
class Person1{
public T doubleT(T t){
return t;
}
}
List extends Fruit> 意思: List中所有元素都是Fruit的子类(包含本身), List super Fruit> 意思: List中所有元素都是Fruit的父类(包含本身)