Ich möchte ein Employee-Objekt mithilfe einer employeeId erstellen, und wenn die employeeId nicht gefunden wird, drucken Sie einfach eine Nachricht. Basierend auf meinem Verständnis kam ich mit folgenden:Optionale Verwendung in Java 8
private Optional<Employee> createEmployee(SearchParams params) {
Optional<String> employeeId = searchEmpId(params);
Optional<Employee> employeeOptional = employeeId.map(epmId -> new Employee());
employeeOptional.ifPresent(employee -> {
employee.setName(getEmpName(employeeId));
employee.setSalary(getEmpSalary(employeeId));
});
employeeOptional.orElseGet(() -> {
LOG.warn("No emp records found for params {}.", params);
return null;
});
return employeeOptional;
}
Gibt es einen Weg, um den obigen Code zu vereinfachen/zu optimieren? Ich glaube, es sollte einen einfachen Weg geben, das zu tun. Jede Hilfe wird sehr geschätzt.
Nicht gut. Warum belästigst du dich überhaupt mit Optional? –
Warum verwenden Sie 'employeeId.map' anstelle eines einfachen' if'? Warum sollten Lambdas verwendet werden, die kein Verhalten darstellen, wenn herkömmliche Logik funktioniert (und besser lesbar ist)? –