Я не понимаю, почему вы должны принять вызывающего абонента, передающего null
для params
.Если кто-либо вызывает getErrorMessage
только с одним аргументом, param
будет пустым массивом (не null
).Поэтому я предлагаю:
Objects.requireNonNull(params);
return processWithParams(code, params);
Абоненту не запрещено звонить с null
в качестве второго аргумента.Если в вашем коде уже есть много таких вызовов, и вы не хотите убирать это сейчас:
if (params == null) {
params = new Object[] {};
}
return processWithParams(code, params);
Однако, если по какой-то странной причине вы настаиваете, Борис Паук прав:
return Optional.ofNullable(params)
.map(p -> processWithParams(code, p))
.orElse(process(code));
Или, если обработка без надобности слишком дорого стоит:
.orElseGet(() -> process(code));