Я заново изучаю Java после нескольких лет знакомства с PHP, и у меня возник вопрос о соглашении, используемом в 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);