JDK1.5版本出现的新特性。
虽然少定义了多个方法,但是每次都要定义一个数组。作为实际参数。
public class ParamMethodDemo {
public static void main(String[] args) {
show(3,4);
int[] arr = {3,4};
show(arr);
int[] arr1 = {2,3,4,5};
show(arr1);
}
public static void show(int[] arr)
{
System.out.println(arr.length);
}
public static void show(int a,int b)
{
System.out.println(a+","+b);
}
}
//输出
3,4
2
4
可变参数:其实就是上一种数组参数的简写形式。不用每一次都手动的建立数组对象。只要将要操作的元素作为参数传递即可。隐式将这些参数封装成了数组。
public class ParamMethodDemo {
public static void main(String[] args) {
// show(3,4);
// int[] arr = {3,4};
// show(arr);
// int[] arr1 = {2,3,4,5};
// show(arr1);
show(2,3,4,5,6);
show(2,3,4,5,6,7,8,9,10);
}
public static void show(int... arr)
{
System.out.println(arr.length);
}
// public static void show(int[] arr)
// {
// System.out.println(arr.length);
// }
public static void show(int a,int b)
{
System.out.println(a+","+b);
}
}
//输出
5
9
方法的可变参数:在使用时注意,可变参数一定要定义在参数列表最后面。
public class ParamMethodDemo {
public static void main(String[] args) {
show(2,3,4,5,6,"haha");
}
public static void show(int... arr,String str)
{
System.out.println(arr.length);
}
}
//输出:编译错误
public class ParamMethodDemo {
public static void main(String[] args) {
show("haha",2,3,4,5,6);
}
public static void show(String str,int... arr)
{
System.out.println(arr.length);
}
}
//输出
5
网友评论