Java是否可以使用Kotlin等默认参数创建方法重载?

Is it possible for Java to create a method overloading with default arguments like Kotlin?

本问题已经有最佳答案,请猛点这里访问。

我有10+个参数的方法,实际上我应该用构建器模式来编写它。但是,我认为当转换成科特林时会很混乱。我想知道有没有一种方法可以像Kotlin那样写Java?

当我们像这样和科特琳开玩笑的时候

1
2
3
fun foo(bar: Int = 0, baz: Int) { /* ... */ }

foo(baz = 1) // The default value bar = 0 is used

如何在Java中编写类似的方法,而不必编写任何可能的方法?

例如。

不需要写

1
2
3
4
5
6
7
void foo(int bar, int baz){
...
}

void foo(int baz){
int bar = 0;
}


你拥有的不是最接近的东西是这样的东西

1
2
3
4
5
6
7
void foo(int bar, int baz){
  ...
}

void foo(int baz){
    foo(0,baz);
}