函数可以接受一个或两个参数,但不能超过两个

Meh*_*lik 1 java methods

我正在尝试创建一种应该接受最少一个参数和最多两个参数的方法。第一个参数是必须的,但第二个参数是可选的

我试过以下

myFunction(String param1, String param2){

}
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,两个参数都需要传递,这是我不想要的。

myFunction(String... params){
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它也可以接受两个以上的参数,这也是我不想要的。

有人可以告诉我它是否是用java完成的吗?

Hen*_*sen 5

重载该方法:

myFunction(String param1){
  ...
}

myFunction(String param1, String param2){
  ...
}
Run Code Online (Sandbox Code Playgroud)

考虑使“一个参数版本”使用第二个参数的默认值调用另一个版本以简化操作。

  • @MehrajMalik:在大多数情况下,您只需使单参数重载使用默认值调用两参数重载即可。无需重复。如果您需要知道调用了哪个重载,请创建前两个调用的第三个私有方法,并带有三个参数:“param1”、“param2”、“param2UserSupplied”(最后一个是布尔值)或类似参数。 (2认同)