Matteo Vaccari [email protected] [it-torino-java-jug] ha scritto il 01/12/18 alle 19:42: > > Non e' ovvio! Grazie per avermelo ricordato. >
Prego e grazie per il grazie. Come dice il saggio, è l'unica parola che non perde mai valore, anche detta migliaia di volte. Mi scuso se ho dato per scontato che parlavo di istanze di classi e non solo di classi Uberto Barbini [email protected] [it-torino-java-jug] ha scritto il 02/12/18 alle 11:24: > > credo che se le fai generare da un metodo statico sei tranquillo, ma > vorrei fare dei tests più approfonditi... > Bella domanda Ho provato a modificare lo snippet condiviso prima: se dichiari static il metodo Filter3.filter, il compilatore va in errore alla riga "return Filter3.this.sayHi()". Che ha senso: se la inner class viene usata in un metodo statico, non c'è istanza a cui fare riferimento Allora ho fatto un'altra prova usando questo snippet https://gist.github.com/ffissore/f410842f6e83e31c326889155e5162b6 e ho scoperto una cosa che non sapevo: fra i "campi nascosti" che ti becchi con una inner class c'è anche la "v" (String) usata nel metodo map dello stream (accessibile con it.jugtorino.Filter4$1.val$v). Che di nuovo non è banale, se l'intenzione del programmatore era destrutturare un oggetto ricco e complesso, per fornire al chiamate solo quelle "2 cose che gli servono" federico
