Java中可变长参数和默认参数的使用方法。
可变长参数和默认参数是Java中的两个重要的参数类型。下面我将会介绍这两个参数类型的使用方法。
可变长参数:
可变长参数也被称为不定长参数或者卡位参数。它允许在方法中接受连续的多个参数,而这些参数的数量并不确定。在Java中可变长参数使用三个点(...)来表示,它可以用在所有类型的方法中。
语法:public void methodName(datatype... variableName);
特点:
1. 一个方法只允许有一个可变长参数。
2. 可变长参数必须放在方法的参数列表的末尾。
3. 可变长参数可以接受多个参数,也可以接受一个数组。
实例:
1. public static void main(String[] args) {
System.out.println(addNumbers(10, 20, 30));
System.out.println(addNumbers(10, 20, 30, 40, 50));
}
public static int addNumbers(int... numbers) {
int sum = 0;
for (int number : numbers) {
sum += number;
}
return sum;
}
2. public static void main(String[] args) {
printNumbers("One");
printNumbers("One", "Two");
printNumbers("One", "Two", "Three");
}
public static void printNumbers(String... numbers) {
for (String number : numbers) {
System.out.println(number);
}
}
默认参数:
默认参数,也被称为缺省参数。当一个方法被调用时,如若没有为其中的参数指定值,那么默认值就会被赋值。在Java 8之前,Java并不支持默认参数。但是Java 8开始提供了默认参数的支持,使用方法和可变长参数非常相似。
语法:public void methodName(datatype variableName1, datatype variableName2, ..., datatype variableNameN, datatype... variableName);
特点:
1. 默认值必须是常量。
2. 默认参数必须放在参数列表的末尾。
3. 如果有多个参数设置了默认值,调用时需要通过参数名来指定具体的值。
实例:
1. public static void main(String[] args) {
printValues("John");
printValues("John", 25);
printValues("John", 25, "123 Street");
}
public static void printValues(String name, int age, String address) {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Address: " + address);
}
public static void printValues(String name, int age) {
printValues(name, age, "123 Street");
}
public static void printValues(String name) {
printValues(name, 20);
}
2. public static void main(String[] args) {
printDate();
printDate("2020-09-28");
}
public static void printDate(String... date) {
if (date.length > 0) {
System.out.println(date[0]);
} else {
LocalDate currentDate = LocalDate.now();
System.out.println(currentDate);
}
}
总结:
可变长参数和默认参数是Java中比较方便实用的参数类型。可变长参数可以使方法可以接受不同数量的参数,这个特性在开发中可以大大的方便操作。而默认参数也是实现方法重载的好方法,可以大大简化重载函数的数量。我们在程序开发时可以根据需求选用更加适用的参数类型来完成更加高效的程序。
