消除Java构造函数中的冗余

时间:2016-03-07 19:05:35

标签: java

我有一个构造函数,我试图在我的任务中压缩。

public int[] StudentIds;
public Students(int[] a) 
{
    StudentIds = a;
}

public static void main(String[] args)
{
    Students s1 = new Students(new int[] {123, 456, 789});
我想知道的是针对学生(int [] a),然后不得不为学生ID投入其中。有没有办法在Students()的原始括号/括号中执行此操作?或者我必须像这样流出它?

3 个答案:

答案 0 :(得分:4)

您可以使用变量参数说明符

public Students(int ... a){
      //a can be accessed like an int array

比你可以打电话

 Students s1 = new Students(5,3,1)

在没有int [] {}调用的情况下构造

答案 1 :(得分:1)

here

所述,您可以使用... varargs

如果您这样做:

public Students(int... students) {
}
学生将在被叫时被分配一系列的整数:

new Students(1,2,3);

答案 2 :(得分:0)

嗯,存在类似于方法和构造函数的varargs参数。所以,你可以这样做:

public Students(int ...a) 
{
    StudentIds = a;
}