Esempio di domanda nel titolo:
List<UUID> ids = dao1.getContactsOfUser(userId);
List<String> contact_names = ids.stream
.map(uid -> dao2.getContactByUid(uid)) //is it ok?
.filter(contact -> contact.getPhone!=null)
.map(contact -> contact.getFullName())
.collect(Collectors.toList());
So che funziona, e funziona anche bene, ma non ci sono intoppi?