ホームページ >Java >&#&チュートリアル >Javaの可変パラメータの例を詳しく解説
main メソッドのパラメータが配列型であることは誰もが知っているため、実際には不定のパラメータ型に変更できます。試してみて、出てきたいくつかのメソッドを呼び出しました。
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 の後の「[ ]」を 3 つのドット (...) に置き換えました。これらの 3 つのドットは、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");//张三 李四 王五 } } }
パラメーターを変数パラメーターとして定義すると、次の 2 つの利点があることがわかります。
1. 将来の呼び出し時に、以前に定義されたパラメーターに対応することを心配する必要はありません。 ;
2. 思いつきませんでした
(これらが欲しいだけです、追加歓迎です)
以上がJavaの可変パラメータの例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。