开发者

Which is the better way to simulate optional parameters in Java?

开发者 https://www.devze.com 2022-12-23 10:07 出处:网络
I have a Java method that tak开发者_如何学Goes 3 parameters, and I\'d like it to also have a 4th \"optional\" parameter. I know that Java doesn\'t support optional parameters directly, so I coded in a

I have a Java method that tak开发者_如何学Goes 3 parameters, and I'd like it to also have a 4th "optional" parameter. I know that Java doesn't support optional parameters directly, so I coded in a 4th parameter and when I don't want to pass it I pass null. (And then the method checks for null before using it.) I know this is kind of clunky... but the other way is to overload the method which will result in quite a bit of duplication.

Which is the better way to implement optional method parameters in Java: using a nullable parameter, or overloading? And why?


Write a separate 3-parameter method that forwards to the 4-parameter version. Don't kludge it.

With so many parameters, you might want to consider a builder or similar.


Use something like this:

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
    }

}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号