Java泛型的我的理解

java泛型的意义

首选,咱们说一下,为何要用泛型,泛型来解决什么问题. 泛型解决, 某一个集合类内部添加多个类的某一种类的对象 之前咱们想用一个类,来解决这个问题,咱们能够这样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
}
}
缺点是:累不累啊,,我都累了.想存多少个得写多少个类.

泛型不但使代码复用并且解决了向上转型的缺点. 泛型的写法: 类型参数(泛型参数)由尖括号包围,多个参数由逗号分隔,如 或 <T, E>。 建议书写:习惯上使用单个大写字母,一般状况下,K 表示键,V 表示值,E 表示异常或错误,T 表示通常意义上的数据类型。 泛型方法和泛型类; 泛型类:ide

public class Test {
    public static void main(String[] args){

        Person<String> person=new Person<String>();
        person.setT("一个泛型类");
        System.out.println(person.getT());

    }

}
class Person<T>{
    T t;

    public T getT() {
        return t;
    }

    public void setT(T t) {
        this.t = t;
    }

    @Override
    public String toString() {
        return "Person{" +
                "t=" + t +
                '}';
    }
}

泛型方法:ui

public class test1 {
    public static void main(String[] args){
        Person1 person = new Person1();
        person.doubleT("泛型方法");
    }
}

class Person1{

    public <T>  T  doubleT(T t){
      return t;
    }

}

List <? extends Fruit> 意思: List中全部元素都是Fruit的子类(包含自己), List <? super Fruit> 意思: List中全部元素都是Fruit的父类(包含自己)this

相关文章
相关标签/搜索