68

私はを持っていて、List<Thing>それを宣言されたメソッドに渡したいと思いdoIt(final Thing... things)ます。それを行う方法はありますか?

コードは次のようになります。

public doIt(final Thing... things)
{
    // things get done here
}

List<Thing> things = /* initialized with all my things */;

doIt(things);

doIt()がないため、そのコードは明らかに機能しませThingList<Thing>

リストをvarargsとして渡す方法はありますか?

これはAndroidアプリにありますが、ソリューションがJavaに適用されない理由がわかりません

4

2 に答える 2

114

渡すだけthings.toArray(new Thing[things.size()])です。

于 2012-08-31T17:55:31.283 に答える
1

可変個引数は、内部的に配列として解釈されます。したがって、事前に配列に変換する必要があります。また、doItメソッドでは、配列のインデックスを使用してthings-s要素にアクセスする必要があります。

于 2012-08-31T17:57:37.187 に答える