Ho appena letto la stessa cosa. Non ho (ancora) provato ma non mi ero mai reso conto che new Object(){} effettivamente crea una nuova classe derivata. Pensavo funzionasse solo con le interfacce.
Funziona da java8 immagino ma solo ora qualcuno lo ha scoperto? :) Uberto On Wed, 28 Nov 2018 at 20:42, Simone Bordet simone.bor...@gmail.com [it-torino-java-jug] <it-torino-java-jug@yahoogroups.com> wrote: > > > Ho appena letto la newsletter "Java Specialist" di Heinz Kabutz, dove > riporta che Henri Tremblay ha trovato un modo di usare le tuple negli > streams di Java 8: > > Arrays.asList("1", "22", "333").stream() > .map(v -> new Object() { > String value = v; > int length = v.length(); > }) > .filter(tuple -> tuple.length % 2 == 0) > .forEach(tuple -> System.out.println(tuple.value)); > > Notate come in map() viene creata una anonymous inner class di Object > con 2 fields, "value" e "length", che può poi essere referenziata dopo > in altri metodi di Stream. > > Funziona da Java 8 in avanti. > > Devo dire che sono impressionato! > > -- > Simone Bordet > --- > Finally, no matter how good the architecture and design are, > to deliver bug-free software with optimal performance and reliability, > the implementation technique must be flawless. Victoria Livschitz > >