只是尝试我在过去的试卷中发现的这个问题,以便我可以为即将到来的 Java 考试做准备。
提供一个通用类 Pair 来表示成对的事物。该类应提供一个构造函数,一个获取对的第一个成员的方法,一个获取对的第二个成员的方法,一个设置对的第一个成员的方法,一个设置对的第二个成员的方法.该类应该通过两种类型进行参数化,一种用于第一个成员,一种用于第二个成员。
这是对这个问题的正确实现吗?
public class Pair<firstThing, secondThing>{
private firstThing first;//first member of pair
private secondThing second;//second member of pair
public Pair(firstThing first, secondThing second){
this.first = first;
this.second = second;
}
public void setFirst(firstThing first){
this.first = first;
}
public void setSecond(secondThing second) {
this.second = second;
}
public thing getFirst() {
return this.first;
}
public thing getSecond() {
return this.second;
}
}
最佳答案
差不多。我会这样写:
public class Pair<F, S> {
private F first; //first member of pair
private S second; //second member of pair
public Pair(F first, S second) {
this.first = first;
this.second = second;
}
public void setFirst(F first) {
this.first = first;
}
public void setSecond(S second) {
this.second = second;
}
public F getFirst() {
return first;
}
public S getSecond() {
return second;
}
}
编辑:我同意@karmakaze 的评论。代码应该跳过 setter 并使 first 和 second final 保持不变。
关于java - 通用对类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6044923/