Как бы вы реализовали этот метод:
public boolean equal(Annotation a1, Annotation a2) {
...
}
Пример ввода ():
@First(name="1", value="1"), @Second(name="1", value="1")
@First(value="2"), @First(name="2")
@First(value="3"), @First(value="3")
@Second(name="4", value="4), @Second(name="4", value="4")
Пример вывода:
false
false
true
true
Как видите,ожидаемое поведение equal
очевидно и похоже на ожидаемое поведение стандартного equals
метода обычных объектов в Java (проблема в том, что мы не можем переопределить equals
для аннотаций).
Есть ли библиотеки?или стандартные реализации?