相关疑难解决方法(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万
查看次数

将参数添加到从我的项目中的100个不同位置调用的方法 - 什么是正确的方法?

所以我正在开发一个代码库,并且有一个实用程序类可以处理为用户生成excel文档.

它有一个叫做的方法 putDataInRowColumn(row, column, data)

它有很多像putObjectsIntoExcel(myBigClass blah)和的方法 putObjectsIntoSpecialExcelType(myBigClass blah)

它调用了像putObjectIntoSpecialRowType(blah.foo(), rowIndex, specialConditions)和的方法putObjectIntoTotallydifferentRowType(blah.bar(), rowIndex, specialConditions)

所有这一切的要点是该方法putDataInRowColumn(row, column, data)从一堆不同的地方被称为公制buttload.像100+.

现在,考虑到这个遗留代码,我需要修改方法以获取其他参数 - 样式信息.99%的方法现在将'null'作为第四个参数,1%将接收包含样式信息的对象.

我修改了方法签名,以接收附加参数,但我发现自己必须编写一个正则表达式来查找/替换所有方法调用.它有效,但这感觉就像走错了路.

我应该怎么做?

java design-patterns

3
推荐指数
2
解决办法
100
查看次数