Допустим, я хочу сохранить потенциальные ключи и потенциальные значения для этих ключей как константы.Как мне этого добиться?Или мне вообще следует этого избегать?
Это подход, который я подумал о себе, но, как вы увидите, он имеет очевидный недостаток.
public static class Foo {
public static final String KEY = "foo" ;
public static class Values {
public static final String BAR = "bar" ;
public static final String HEY = "hey" ;
}
}
public static class Another {
public static final String KEY = "another" ;
public static class Values {
public static final String ONE = "1" ;
public static final String TWO = "two" ;
public static final String THREE = "THREE" ;
}
}
, который позволяет мне получить доступ к этим ключам примерно так
miscellaneousMethod( Foo.KEY, Foo.Values.BAR )
miscellaneousMethod( Another.KEY, Another.Values.TWO )
Однако я не хочу писать отдельный статический внутренний класс для каждой пары ключ / возможные значения.
Есть ли лучший способ хранить пары ключ-значение в качестве констант?
Я хочу сохранить их как константы для последующего сравнения с созданными хэш-картами.Так что я могу спросить что-то вроде этого:
if( map.get( Foo.KEY ).equals( Foo.Values.HEY ) ) { /* do stuff */ }