String []型引数と文字列...引数差

JDK 1.5、新規参入の文字列...、渡されたより柔軟で便利なパラメータを作成する、次の例を書い引数


 

パブリック静的ボイドcallMe1(文字列[]引数){  System.out.printlnは(args.getClass()== 。String []型クラス)。(のための文字列S:引数){System.out.printlnは(S); }}

 パブリック静的ボイドcallMe2(文字列引数...){System.out.printlnは(args.getClass()== 。String []型クラス)。(のための文字列S:引数){System.out.printlnは(S); }}

 

彼らは次のように呼び出すことができます。

callMe1(新しいString [] { "A"、"B"、"C"}) callMe2("A"、"B"、"C")callMe2(新しいString [] { "A"、"B"、"C"})


しかし、ではありません 

callMe1("A"、"B"、"C")。

 

これは、場所の文字列...メソッドの引数柔軟な定義です。引数の数が渡された引数が最大数よりも任意の数の少なくてもよいときにメソッドの定義文字列...引数パラメータがあった場合や、パラメータを渡すことはできません。

しかし、この子は便利で定義されているだけでなく、特定の価格を支払うこと、それは、Stringです...引数パラメータは、最後のパラメータで定義することができ、文字列[] argsがそのような制限はありません。

しかし、それを宣言する:このメソッドは、正式に問題になりやすいそうでない場合は、最高の使用を最小限にする方法をお勧めしません。


 

おすすめ

転載: www.cnblogs.com/liveinpresent/p/11627227.html