Java:使用一行代码将一个参数插入一个方法的可能性

时间:2015-12-07 18:23:49

标签: java

我想知道在JAVA中是否有可能在一行中将相同类型的对象插入到接受这些类型对象的方法中。例如:

我有一个对象Student。此对象的某些实例如:

student1, student2, student3  

我有一个接受学生实例的方法:addStudents(Student student);

目前我写的是这样的:

classRoom.addStudents(student1);
classRoom.addStudents(student2); 
classRoom.addStudents(student3); ...

是否可以创建一个接受以下代码的方法:classRoom.addStudents(student1, student2, student3, etc);

我可以使用哪些步骤开始编写该方法?

5 个答案:

答案 0 :(得分:2)

是的,您可以使用此表示法:

private void addStudents(Student... students) {
    // your code here
}

它被称为varargs,意味着可变数量的参数。

答案 1 :(得分:2)

您可以在java中使用...来接受许多具有相同类型的变量。以下是使用int的快速示例。

public static void main(String... args){ //You can also do it in main
    printNumbers(1);
    printNumbers(1,2,3);
}

public static void printNumbers(int... numbers){ //creates int[] numbers
    for (int i: numbers){
        System.out.println(i);
    }
    System.out.println();
}

输出:

1

1
2
3

答案 2 :(得分:2)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ClassRoom {
    private List<Student> studentList = new ArrayList<>();

    public void addStudents(Student... students) {
        studentList.addAll(Arrays.asList(students));
    }
}

示范学生班

class Student {

}

答案 3 :(得分:1)

是的,有可能.. 创建一个类型为student的数组。将对象放在该数组上。并将数组作为插入方法的参数传递。此过程只会帮助您多次调用相同的方法。 在方法中,您可以迭代数组,以便对对象进行操作

答案 4 :(得分:1)

可以使用以下代码获得可变参数长度:

public void addStudents(Student... students) {...}

students将是Student的数组。