У меня есть класс, и мне нужны только несколько статических атрибутов dype Pair<Integer, String>
в этом классе. Не более. Есть ли способ определить суперкласс или что-то еще, что нет возможности добавить другой атрибут переменной.
Это так важно, что у меня есть несколько атрибутов, а не, например, список или перечисление.
Пример:
public class Test {
public static final Pair<Integer, String> a ...
public static final Pair<Integer, String> b ...
public static final Pair<Integer, String> c ...
}
Невозможно ограничить, какие статические поля может объявлять любой данный класс, создавая суперклассы или суперинтерфейсы. Единственное, что может это сделать, это обработчик аннотаций (даже если вы не используете аннотаций). Однако нет способа заставить человека, выполняющего компиляцию, запускать этот процессор.
Если вас это интересует: это непросто, и объяснение того, как это сделать, было бы на порядок выше разумного объема вопроса SO. Найдите в Интернете руководства по процессорам аннотаций.