Ciao a tutti,
ogni tanto programmicchio, ho incontrato un programma scritto in Java 8 e ci sono cose che non capisco. Premesso che ho letto varie cose e più o meno ho presente vari concetti nuovi come le lambda (io imparai il JAva 2...), non riesco a decifrare 2 righe dello spezzone che riporto in seguito.
Si tratta di una sfilza di chiamate a cascata che includono il nuovo operatore ::, mi potreste dire cosa ci capite?
Più che altro vorrei una dritta da che lato cominciare a leggere, sfruttando questo esempio per capire grosso modo che cosa fa.
In modo che la prossima volta che incontro una cosa del genere possa capirla da solo.
codice:
classe X... {
private List<TipiDiAutorizzazione> autorizzazioni;
//....
public JsonObject creaERestituisciJson() {
JsonArrayBuilder arrayAutorizzazioni = Json.createArrayBuilder();
//delle 2 righe seguenti, ci capite qualcosa? Quale è il segreto per decifrare robe come questa??
autorizzazioni.AUTORIZZAZIONI_ATTIVE.stream().filter(Autorizzazioni.AUTORIZZAZIONI_ATTIVE::containsKey)
.map(Autorizzazioni.AUTORIZZAZIONI_ATTIVE::get).forEach(permissionsArray::add);
return new JObjectBuilder().add("aut", arrayAutorizzazioni).build();
}
}
Grazie