【发布时间】:2011-07-14 18:14:05
【问题描述】:
在与 PHP 接触多年后,我正在重新学习 Java,我对 PHP 中使用的约定以及如何在 Java 中实现类似目标有一个疑问......
PHP
function getReport( $options = array() ) {
}
在上述函数中,您将传入一个可选的关联选项数组,可能看起来像这样
Array(
from => "20110325",
to => "20110413",
subject_id => "2432",
...etc...
);
如果没有传递参数,它会在没有选项的情况下正常处理。
下面是我尝试在 java 中形成相同的函数,因为它是强类型的(在某些情况下非常令人耳目一新),我在构建相同的灵活性时遇到了麻烦。我考虑过使用Dictionary,但不确定那会是怎样的“最佳实践”。
public TimeReport getTimeReport(Date from, Date to, int subjectId, int toDoItemId, int filterProjectId, int filterCompanyId) {
}
要使用一个/两个/无选项调用它,它会变得非常丑陋,参数是......
getTimeReport(null,null,null,234,null,null);
【问题讨论】:
-
你也可以传入两个单独的列表,它们的长度相同。或者一个列表,每个元素都是一个对象,必须来自、从、subject_id 等
标签: java php associative-array optional-parameters