0

私のメソッドを作成する方法はありますか多くの入力変数を取りますが、オーバーロードはありません...私の質問は明確ではないかもしれません...私はそのように意味します:

私がこの方法を持っている場合

public void setValues (int val1,int val2 ,String val3){
}

私が欲しいのは:この方法を多くの方法で使用することです

setValues (val1,val2)

また

setValues (val3)

オーバーロードなしでそれをしたい理由:例10の変数がある場合、オーバーロードを使用して多くのメソッドを追加したいのですが、それは好きではありません...

変数をチェックしたり、同じ方法でスキップしたりするのに役立つ方法はありますか..

手伝ってくれてありがとう 。

4

2 に答える 2

2

varargs future を使用して問題を部分的に解決できますhttp://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html これは、同じタイプのパラメーターがある場合に実行できます。

ただし、最後のパラメーターと同じ型の変数を渡す必要があります。これは完全に望んでいるものではありませんが、小さな回避策です。

于 2012-10-10T21:29:19.367 に答える
0

いいえ、メソッドのオーバーロードなしで Java でそれを行う方法はありません。1 つの代替方法は、関連するパラメーターをグループ化し、それらをクラスのフィールドにすることです。次に、メソッドはそのクラスのインスタンスをパラメーターとして受け取り、パラメーターがオプションだった場合は null になります。

于 2012-10-10T21:19:47.767 に答える