Kennt jemand eine Bibliothek, die die in this article beschriebenen Techniken (Annotationen und Klassenarbeit) zur automatischen Generierung der Standard-Objektmethoden toString(), equals() und hashcode() für Standard-Java-Klassen verwendet?Verwenden Java-Bibliotheken Anmerkungen zur Codegenerierung?
6
A
Antwort
4
Ja, Projekt Lombok tut dies zu nutzen. Siehe http://projectlombok.org. Es unterstützt nicht nur Javac, sondern auch Eclipse. Die Methoden befinden sich also nicht im Quelltext, sondern werden in der Gliederungsansicht angezeigt.
0
Ich habe das sicher nicht gesehen und bin mir nicht sicher, welcher Wert daraus gewonnen werden würde. Ich finde, dass automatische toString
Generation ist normalerweise nicht was Sie wollen beim Durchsuchen von Log-Dateien und die meisten IDEs haben Werkzeuge, damit Sie und equals
Implementierungen generieren können, obwohl diese nicht automatisch alle Schemaänderungen innerhalb Ihrer Klasse widerspiegeln.
würde es 2 Möglichkeiten, dies für die Umsetzung:
- Compile-Zeit-Klasse Anmerkung, die (beispielsweise durch Ihre IDE) verarbeitet wird, die entsprechenden Methoden zu erzeugen. Können Annotationen den generierten Bytecode der Klassen ändern, in denen sie deklariert sind? Ich denke, diese Apprain ist eine wirklich schlechte Idee, weil Sie nicht sehen können, was passiert, indem Sie Ihren Quellcode
- Runtime Annotation auf die relevanten Methoden, um anzuzeigen, dass sie über den speziellen Mechanismus ausgewertet werden sollten. Dies erfordert, dass Sie immer noch zu erklären und Ihre Methoden mit Anmerkungen versehen und ich bin auch nicht sicher, wie würden Sie tatsächlich abfangen Methode ruft die Anmerkung auf jeden Fall
Sehr interessant, obwohl ich denke, ich werde immer noch mit POJOs und einer IDE –