不知道想要给方法传递多少个参数怎么办?
方法一、用数组的方式
public class Person {
//数组形参,如果没有参数,就要定义一个空数组,或 null
public void PrintInfo(String[] info) {
for (int i = 0; i < info.length; i++) {
System.out.println(info[i]);
}
}
}
public static void main(String[] args) {
Person person = new Person();
//定义一个数组作为参数
String[] info = new String[]{"小米","23","男"};
person.PrintInfo(info);
}
方法二、用 java 特有 … 的可变参数的方式
public class Person {
// java 特有 ... 方式,只有定义的地方不同,其他使用方法与数组均相同
//如果没有参数,可以直接不填,写成 person.PrintInfo_1();
public void PrintInfo_1(String... info) {
for (int i = 0; i < info.length; i++) {
System.out.println(info[i]);
}
}
}
public static void main(String[] args) {
Person person = new Person();
String[] info = new String[]{"小米","23","男"};
person.PrintInfo_1(info);
}
说明:
- 数组方式和可变参数(…的方式)的区别
(1)数组方式:如果没有参数,就要定义一个空数组,或 null
(2)可变参数方式:如果没有参数,可以直接不填,写成 person.PrintInfo_1() - 两者的使用方式是相同的,都是数组下标的形式
- 如果有多个形参,可变参数必须放在最后,如
//String... info 必须放在形参声明的最后
public void PrintInfo_1(int a, String... info);