繁体   English   中英

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

[英]Java: Possibility to insert many objects into one method with one parameter using one line of code

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

我有一个对象Student 该对象的一些实例如下:

student1, student2, student3  

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

目前,我写这样的东西:

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

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

我可以使用什么步骤开始编写该方法?

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

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

它称为varargs ,表示可变数量的参数。

您可以在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
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 {

}

是的,有可能.. 制作一个学生类型的数组。.将对象放在该数组上。 并将数组作为insert方法的参数传递 此过程只会帮助您避免多次调用同一方法。 在该方法中,您可以迭代数组,因此可以对对象进行操作

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

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

students将是一系列Student

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM