我有一个带有 3 个参数的 Java 方法,我希望它也有第四个“可选”参数。我知道 Java 不直接支持可选参数,所以我编写了第 4 个参数,当我不想传递它时,我传递null
. (然后在使用它之前检查该方法null
。)我知道这有点笨重......但另一种方法是重载该方法,这将导致相当多的重复。
在 Java 中实现可选方法参数的更好方法是:使用可为空的参数,还是重载?为什么?
我有一个带有 3 个参数的 Java 方法,我希望它也有第四个“可选”参数。我知道 Java 不直接支持可选参数,所以我编写了第 4 个参数,当我不想传递它时,我传递null
. (然后在使用它之前检查该方法null
。)我知道这有点笨重......但另一种方法是重载该方法,这将导致相当多的重复。
在 Java 中实现可选方法参数的更好方法是:使用可为空的参数,还是重载?为什么?
编写一个单独的 3 参数方法,转发到 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
}
}