C'è un modo per far sì che Groovy ignori gli attributi extra in una mappa durante l'istanza dell'oggetto? Esempio:Groovy - Ignora attributi extra in una mappa durante l'istanza dell'oggetto
class Banana{
String name
}
def params = [name:'someGuy', age:13]
new Banana(params)
In questo esempio, scanalato lancia un No tale proprietà: eccezione età (ovviamente perché l'età non è definito nella classe Banana Senza ricorrere alla mappatura manualmente solo gli attributi desiderati dalla mappa al costruttore. della classe banana, c'è un modo per dire Banana di ignorare gli attributi aggiuntivi?
ho notato che Grails classi di dominio non soffrono di questo problema, e mi piacerebbe lo stesso comportamento qui!
Grazie per il tuo aiuto e il tuo consiglio!
Ovviamente, è necessario assicurarsi che la vostra mappa params non contiene le chiavi 'class' o' metaClass', o eccezioni/stranezze ne seguirà ;-) –
Thank you - mi piace questo caratteristica dei graal, speravo che non fosse attraverso astuti trucchi, ma che fosse invece una caratteristica del linguaggio. Oh bene. La tua soluzione alternativa dovrebbe fare il trucco, grazie! – Quad64Bit