(Java)泛型的嵌套设置

同样可以在一个类的泛型中指定另外一个类的泛型:

class Info<T,V>{
    //指定两个泛型类型
    private T var;
    private V value;
    public Info(T var, V value){
        this.setVar(var);
        this.setValue(value);
    }

    public T getVar() {
        return var;
    }

    public V getValue() {
        return value;
    }

    public void setVar(T var) {
        this.var = var;
    }

    public void setValue(V value) {
        this.value = value;
    }
}
class Demo<S>{
    private S info;
    public Demo(S info){
        this.setInfo(info);
    }

    public S getInfo() {
        return info;
    }

    public void setInfo(S info) {
        this.info = info;
    }
}

这里程序中 Info 类需要指定两个泛型类型,而 Demo 类也需要指定一个泛型类型,操作时可以将Info 设置成 Demo 的泛型类型。

public class Test{
    public static void main(String[] args) {
        Demo<Info<String,Integer>> d = null;//将 Info 作为 Demo 的泛型类型
        Info<String,Integer> i = null;//Info 要指定两个泛型类型
        i = new Info<>("Java",30);
        d = new Demo<Info<String ,Integer>>(i);//在 Demo 类中设置 Info类对象
        System.out.println("内容一:" + d.getInfo().getVar());
        System.out.println("内容二:" + d.getInfo().getValue());
    }
}

(Java)泛型的嵌套设置_第1张图片

你可能感兴趣的:(Java,学习笔记)