3

3つのパラメーターを受け取るJavaメソッドがあり、4番目の「オプション」パラメーターも必要です。Javaはオプションのパラメーターを直接サポートしていないことを知っているので、4番目のパラメーターでコーディングし、それを渡したくない場合は渡しnullます。(そして、メソッドはnullそれを使用する前にチェックします。)これは一種の不格好なことです...しかし、他の方法はメソッドをオーバーロードすることであり、かなりの重複が発生します。

Javaでオプションのメソッドパラメータを実装するためのより良い方法はどれですか:null許容パラメータを使用するか、オーバーロードしますか?なぜ?

4

2 に答える 2

10

4パラメーターバージョンに転送する別の3パラメーターメソッドを記述します。それを恨んではいけません。

非常に多くのパラメーターがあるため、ビルダーなどを検討することをお勧めします。

于 2010-03-17T15:13:11.623 に答える
4

次のようなものを使用します。

public class ParametersDemo {

    public ParametersDemo(Object mandatoryParam1, Object mandatoryParam2, Object mandatoryParam3) {
    this(mandatoryParam1,mandatoryParam2,mandatoryParam3,null);
    }


    public ParametersDemo(Object mandatoryParam1, Object mandatoryParam2, Object mandatoryParam3, Object optionalParameter) {
    //create your object here, using four parameters
    }

}
于 2010-03-17T15:19:29.277 に答える