Domanda

Qualcuno è a conoscenza di una libreria che utilizza le tecniche (annotazioni e classworking) descritto in questo articolo per la generazione automatica dell'Oggetto standard metodi toString(), equals() e hashcode() per le classi java?

È stato utile?

Soluzione

Sì, progetto Lombok fa questo. Vedere http://projectlombok.org . Esso non solo supporta javac, ma anche Eclipse. Così i metodi non sono nel codice sorgente, ma vengono visualizzati nella vista struttura.

Altri suggerimenti

Di certo non ho visto questo e io non sono davvero sicuro di quello che sarebbe guadagnato da esso.Trovo che automatico toString generazione di solito non è quello che vuoi quando purga file di registro e l'Ide si hanno gli strumenti per consentire di generare hashCode e equals implementazioni, anche se concesse queste non si riflettono automaticamente eventuali modifiche allo schema interno della vostra classe.

Ci sarebbero 2 opzioni per l'attuazione di questo:

  1. In fase di compilazione di classe annotazione che viene elaborato (ad es.da IDE) per generare i relativi metodi. Può annotazioni modificare generato il bytecode delle classi sono dichiarati? Penso che questo appraoch è una pessima idea, perché si può dire che cosa è successo guardando il codice sorgente
  2. Runtime annotazione sui relativi metodi di indicare che deve essere valutato tramite il meccanismo speciale.Questo richiede ancora di dichiarare e di annotare i vostri metodi e io non sono sicuro di come si sarebbe in realtà intercettare chiamate di metodo per usare l'annotazione in ogni caso
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top