메인 메소드의 매개변수가 배열형이라는 것은 누구나 다 아는 사실이기 때문에 실제로는 무한정 매개변수형으로 변경될 수도 있습니다. 나는 그것을 시도해보고 팝업되는 몇 가지 메소드를 호출했습니다.
public class ClassC2 {public static void main(String...args) { System.out.println(args.getClass()); //Exception in thread "main" class [Ljava.lang.String;System.out.println("======分割线1====="); System.out.println(args.hashCode()); //4126736System.out.println("======分割线2====="); System.out.println(args.toString()); System.out.println("======分割线3====="); //[Ljava.lang.String;@3ef810 System.out.println(args.length); //0System.out.println("======分割线4====="); args.notify(); //java.lang.IllegalMonitorStateException } }
Sting 뒤의 "[ ]"를 세 개의 점(...)으로 대체했습니다. 이 세 개의 점은 Java의 가변 배열 매개변수를 나타냅니다. 가변 인수 유형, 가변 인수 유형이라고도 합니다. 영어 약어는 varargus입니다. 즉, 이 메소드가 매개변수를 수신할 때 그 수가 불확실합니다.
public class ClassC {public static void main(String[] args) { String[] array = { "Java", "PHP", "C#" };//传数组test(array);//调用 }static void test(String... a) { //利用可变参数的栗子System.out.println(a);// 打印:[Ljava.lang.String;@da6bf4System.out.println(a.length);//3for (int i = 0; i < a.length; i++) { // for遍历System.out.print(a[i]+"\t");//方便记录,我用了让它一行输出的效果:Java PHP C# } } }
//不像上面那样调用也可以,下面再演示几种调用方法public class ClassC {public static void main(String[] args) { test();//没有赋值,直接调用 }static void test(String... a) { //利用可变参数的栗子System.out.println(a);// 打印:[Ljava.lang.String;@1e58cb8System.out.println(a.length);//0for(String s:a){ //复习一下增强for System.out.println(s); } } }
//不像上面那样调用也可以,下面再演示几种调用方法public class ClassC {public static void main(String[] args) { // new一个空数组test(new String[0]); }static void test(String... a) { // 利用可变参数的栗子System.out.println(a);// 打印:[Ljava.lang.String;@1e58cb8System.out.println(a.length);//0for (String s : a) { // 复习一下增强for System.out.println(s); } } }
//不像上面那样调用也可以,下面再演示几种调用方法public class ClassC {public static void main(String[] args) { test(new String[]{"张三","李四","王五"}); }static void test(String... a) { // 利用可变参数的栗子System.out.println(a);// 打印:[Ljava.lang.String;@b9e45aSystem.out.println(a.length);//3for (String s : a) { // 复习一下增强forSystem.out.print(s+"\t");//张三 李四 王五 } } }
매개변수를 변수 매개변수로 정의하면 다음과 같은 두 가지 장점이 있음을 알 수 있습니다.
1 나중에 호출할 때 이전에 정의한 매개변수를 충족하는지 걱정하지 마세요. ;
2. 생각 못했어요
(그냥 갖고 싶은데 추가해도 좋아요)
위 내용은 Java의 변수 매개변수 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!