从模板类初始化对象

时间:2017-11-24 12:46:39

标签: java

我想从模板类初始化对象 以及如何与其他类一起处理它

Angular

公共级战舰{

public class Pair<A, B> {
    private A first;
    private B second;

    public Pair(A first, B second) {
        super();
        this.first = first;
        this.second = second;
    }


    public  A getFirst() {
        return first;
    }

    public void setFirst(A first) {
        this.first = first;
    }

    public B getSecond() {
        return second;
    }

    public void setSecond(B second) {
        this.second = second;
    }
}   

}

/ *

2 个答案:

答案 0 :(得分:1)

由于语法错误,这不起作用。

Pair g<int ,int>=new Pair <int,int>(); 

应该是

Pair<Integer, Integer> g = new Pair<>(1, 2); 

如果构造函数有两个参数,则必须提供这些参数。

Generics不支持Java 9中的原语,尽管有一个项目可以在将来的版本中使用它。

答案 1 :(得分:0)

您正在使用generic types。泛型类型是通过类型参数化的泛型类或接口。

当您使用泛型类型并想要初始化类的实例时,您必须告诉哪些类型将是A和B.

在您的情况下,要正确初始化Pair,您应该执行以下操作,例如:

Pair<Integer,Integer> p = new Pair<>(1,2);
Pair<String,Integer> p = new Pair<>("Hello",2);
Pair<Integer,Character> p = new Pair<>(3,'C');
Pair<CustomClass1, CustomClass2> p = new Pair<>(new CustomClass1() ,CustomClass2());