同样可以在一个类的泛型中指定另外一个类的泛型:
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());
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10