ナインJavaの学習:メソッドオブジェクト...意味パラメータ引数

Javaメソッドについてオブジェクト...引数の意味パラメータ

リリースGoogleのボレーのソースを読んで、突然のような方法で、このような文言の存在を見ます。v(String形式による、オブジェクト...引数)

I]は引数[オブジェクトと、なぜそれがこのよう書く思って、それが何を意味するのか理解していない平均のですか?なぜ三点の代わりに?その後、下の文書へのアクセス、それは新しいJDK1.5構文、新機能、動的なパラメータまたは変数のパラメータが平均でした。


例えば:
溶液V、Vメソッド呼び出しがある
vが(ライン内に記述されているどのように多くのパラメータ)。

例えば:

v(1,"s");
v(1,2,"s");
v("s");


この方法を使用して内部パラメータ、オブジェクト[]任意の区別なく引数。

しかし、あなたが呼び出すときに、異なる可能。

 

void v(Object... objs) {
}
v(obj1, obj2, obj3);

I.はじめに

QueryRunnerソースのカテゴリを読んで、以下の方法に遭遇しています。

 public int update(String sql, Object... params) throws SQLException {
        Connection conn = this.prepareConnection();
        return this.update(conn, true, sql, params);
    }



ここで、このようなA文言で伝送パラメータ:オブジェクト...のparams Baiduは、チェックを確認してください。

これは、平均JDK1.5の新しい構文、新機能、動的パラメータまたは可変パラメータです。 
(1)...可変長パラメータを用いてパラメータを宣言します。 
(2)可変長パラメータは、最後のパラメータでなければなりません。 
(3)可変パラメータを同時に固定パラメータと混合することができるが、この方法のパラメータは可変パラメータの二つのタイプを持つことができません。

第二に、どのように使用します

private static int sumUp(int... values) {   
    int sum = 0;   
    for (int i = 0; i < values.length; i++) {   
        sum += values[i];   
    }   
    return sum;   
}  


参考リンク:
[オブジェクトのJavaメソッド...意味の引数パラメータ]します。https://blog.csdn.net/gao_chun/article/details/42294061 
[Javaの可変長パラメータオブジェクト...オブジェクト]:https://でブログ。 csdn.net/lcczzu/article/details/46652565 
[オブジェクトのJavaの理解...引数]します。https://blog.csdn.net/baidu_28236027/article/details/52471094

 

時々 、私たちはこの問題を解決するために、数が固定されていないメソッドのパラメータに渡された、我々は一般的に以下のメソッドを使用します:

1。可能な限りヘビーデューティー、大型マルチいくつかの方法は、パラメータの数を満たすために。明らかにこれは良いアイデアではありません。

2。パラメータが配列として渡されます。例えば、A法が単純に、しかしながら、この配列を渡すために、我々は、配列を宣言する必要があることができ、次いで、配列パラメータ一つずつに加えます。

今、私たちは、この問題を解決するために、可変長のパラメータを使用することができます。

宣言可変長パラメータとして、以下:

公共無効にmymethod(String型の引数1、オブジェクト... argsが)

、可変長パラメータを宣言するために...使用するパラメータです。

明らかに、可変長引数は、最後のパラメータでなければなりません。

次の例で猿を言うために参照唐仏教のマスター:

パッケージcom.kuaff.jdk5;

publicクラスVarargs1
{
    ます。public voidスピーク(文字列名、引数のオブジェクト...)
    {
        のために(オブジェクトオブジェクト:引数)
        {

            System.out.printlnは(オブジェクト);

        }
    }

    パブリック静的無効メイン(文字列[] args)

    {
        VA)は、新たな新Varargs1 Varargs1を(=;

        va.speak(「猿の王」、「ゴブリンとは、生徒の母親です」);

        va.speak(「猿王」、「異なる人々は、彼の母親から生まれた人です」 「彼の母親が生まれた悪魔悪魔」);

    }
}
ここで話すパラメータいわばメソッドに、あなたが複数のパラメータを渡すことができ、可変長パラメータ宣言されています。

いくつかの配列を渡すとき、私はほとんど少ないJ2EEの開発の枠組みの中でより、可変パラメータは、任意の多くの使用を持って見つけることができませんでしたが、最後のパラメータは、この方法の代わりに、過去があると思いますとき時々 、私たちはわかりません道。

可変パラメータは、固定パラメータと混合することができるが。
しかし、いくつかの制限変数パラメータがあります:メソッドのパラメータは可変パラメータ、すなわち二種類のすることはできません
。この作業されていない公共のボイドのfoo(STR ...文字列、整数...私を)

公開された377元の記事 ウォンの賞賛145 ビュー210 000 +

おすすめ

転載: blog.csdn.net/Windgs_YF/article/details/104293001