java消除多个构造函数中的冗余
如果有人能告诉我我的代码是否是冗余的(如果是,可能的解决方案,以消除冗余),我将非常感谢
public class Question {
private Queue<Double> a;
public Question(double XXX) {
a = new LinkedList<Double>(); // REDUNDANT?
......
}
public Question(double[] YYY) {
a = new LinkedList<Double>(); // REDUNDANT?
......
}
}
基本上,一个构造函数接受一个双精度值,而另一个构造函数接受一个双精度数数组。有没有办法只实例化Queue
一次
# 1 楼答案
当使用Java7和NetBeans或其他IDE时,IDE可能会标记
作为冗余,您可以使用
相反。但如果您只是询问代码中的实际冗余,请使用:
# 2 楼答案
您可以使用
this
运算符调用另一个具有适当参数的构造函数# 3 楼答案
您可以在声明时实例化变量
# 4 楼答案
将其放在字段声明中:
# 5 楼答案
这使用varargs构造函数,您可以向其传递一个double、多个double或一个double数组。因此,您可以:
注意:
ArrayUtils
是Apache Commons Lang的一部分