方法中的java可选参数

hak*_*ata 3 java arrays parameters methods null

我想创建一个方法,需要1个必需参数和1个可选参数,但我发现如何通过在参数(int ... b)中创建一个可选数组,但这是一个数组,我想制作它只是这个值为null或用户输入它,我可以通过制作两个相同名称的方法,但一个具有单个参数和一个具有2个参数,但是它可以只使用一个方法吗?

谢谢

Jon*_*eet 7

不,Java不支持可选参数.超载(这没有多大意义的两个参数,但另一种选择没有意义更多)是使用代表所有参数的构建器类型-你可以提供包含必需的参数构建一个构造函数,然后每个可选项的setter,使setter返回构建器本身.所以调用方法就像这样:

foo.doSomething(new ParameterBuilder(10).setBar(2).setBaz(10));
Run Code Online (Sandbox Code Playgroud)