Maison > Java > javaDidacticiel > le corps du texte

Explication détaillée d'exemples de paramètres variables en Java

零下一度
Libérer: 2017-07-03 09:55:17
original
1759 Les gens l'ont consulté

Tout le monde sait que le paramètre de la méthode main est un type de tableau, il peut donc en fait être modifié en un type de paramètre indéfini. Je l'ai essayé et j'ai appelé certaines méthodes qui sont apparues.

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    }
}
Copier après la connexion

Eh bien, j'ai remplacé le "[ ]" après Sting par trois points (...) Ces trois points représentent des paramètres de tableau variables en Java. Type d'argument variable, également appelé type d'argument variable. L'abréviation anglaise est varargus. Autrement dit, lorsque cette méthode reçoit des paramètres, le nombre est incertain.

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#        }

    }
}
Copier après la connexion
//不像上面那样调用也可以,下面再演示几种调用方法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);
        }

    }
}
Copier après la connexion
//不像上面那样调用也可以,下面再演示几种调用方法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);
        }

    }
}
Copier après la connexion
//不像上面那样调用也可以,下面再演示几种调用方法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");//张三    李四    王五            }

    }
}
Copier après la connexion

On constate que les paramètres sont Les paramètres définis comme variables présentent deux avantages :

1 Ne vous inquiétez pas de répondre aux paramètres précédemment définis lors des appels futurs

2 Je n'y ai pas pensé

(Je veux seulement ceux-ci, bienvenue pour les ajouter)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal