我有一个带有3个参数的Java方法,我希望它还有第4个“可选”参数。我知道Java不直接支持可选参数,所以我用第4个参数编码,当我不想传递它时,我传递null
。 (然后该方法在使用之前检查null
。)我知道这有点笨重......但另一种方法是重载该方法,这将导致相当多的重复。
在Java中实现可选方法参数的更好方法是:使用可空参数还是重载?为什么?
答案 0 :(得分:10)
编写一个单独的3参数方法,转发到4参数版本。不要破坏它。
如果有这么多参数,您可能需要考虑一个构建器或类似的东西。
答案 1 :(得分: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
}
}