Понимание необходимости .map при работе с дополнительными типами и типами интерфейса в Spring BootJAVA

Программисты JAVA общаются здесь
Anonymous
Понимание необходимости .map при работе с дополнительными типами и типами интерфейса в Spring Boot

Сообщение Anonymous »

Я изучаю чистую архитектуру и создаю простое приложение Spring Boot.
Некоторые из моих занятий:

Код: Выделить всё

public class EClient implements Serializable, EClientInterface {...}

Код: Выделить всё

public interface ClientRepository extends JpaRepository {...}
И, наконец, причина моего вопроса:

Код: Выделить всё

@Override
public Optional findClient(String cpf) {
return repository.findById(cpf).map(eClient -> eClient);
}
По сути, мне пришлось поместить .map(eClient -> eClient), потому что мое сообщение об ошибке было:
  • < li>Обязательно -> Необязательно
  • Предоставлено -> Необязательно
Подводя итог, мои вопросы:
  • Зачем мне .map? Это потому, что Optinal принимает только точный тип, а не реализации или подклассы?
  • Почему эта карта на самом деле работает? Мне это кажется излишним


Подробнее здесь: https://stackoverflow.com/questions/787 ... ce-types-i

Вернуться в «JAVA»