Jeder weiß, dass der Parameter der Hauptmethode ein Array-Typ ist und daher tatsächlich in einen unbestimmten Parametertyp geändert werden kann. Ich habe es ausprobiert und einige Methoden aufgerufen, die aufgetaucht sind.
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 } }
Nun, ich habe das „[ ]“ nach Sting durch drei Punkte ersetzt (...). Diese drei Punkte stellen variable Array-Parameter in Java dar. Variabler Argumenttyp, auch als variabler Argumenttyp bekannt. Die englische Abkürzung ist Varargus. Mit anderen Worten: Wenn diese Methode Parameter empfängt, ist die Anzahl unsicher.
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");//张三 李四 王五 } } }
Es ist ersichtlich, dass die Parameter sind definiert als Variable Parameter haben zwei Vorteile:
Machen Sie sich keine Sorgen darüber, dass Sie bei zukünftigen Aufrufen auf die zuvor definierten Parameter achten müssen
(Ich möchte nur diese, gerne hinzufügen)
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen für variable Parameter in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!