相关疑难解决方法(0)

Java是否支持默认参数值?

我遇到了一些具有以下结构的Java代码:

public MyParameterizedFunction(String param1, int param2)
{
    this(param1, param2, false);
}

public MyParameterizedFunction(String param1, int param2, boolean param3)
{
    //use all three parameters here
}
Run Code Online (Sandbox Code Playgroud)

我知道在C++中我可以为参数指定一个默认值.例如:

void MyParameterizedFunction(String param1, int param2, bool param3=false);
Run Code Online (Sandbox Code Playgroud)

Java是否支持这种语法?有没有理由说这两步语法更可取?

java parameters methods overloading default-parameters

1569
推荐指数
14
解决办法
114万
查看次数

在Java中管理具有许多参数的构造函数

在我们的一些项目中,有一个类层次结构,它在链中向下添加更多参数.在底部,一些类可以有多达30个参数,其中28个只是被传递给超级构造函数.

我会承认,通过像Guice之类的东西使用自动化DI会很好,但由于某些技术原因,这些特定项目仅限于Java.

按类型按字母顺序组织参数的约定不起作用,因为如果某个类型被重构(您为参数2传入的圆现在是一个Shape),它可能会突然出现故障.

这个问题可能具体而且充满了"如果这是你的问题,你在设计层面做错了"的批评,但我只是在寻找任何观点.

java

99
推荐指数
4
解决办法
6万
查看次数