Это невозможно. На веб-сервере вы можете только контролировать, что браузер позволит вам контролировать. Проще говоря, это означает, что вы можете контролировать данные (HTML, javascript, заголовки и т. Д.), Которые вы отправляете обратно. Вот и все.
Лучше всего использовать в pre 1.5 шаблон Typesafe Enum , лучше всего описанный в книге Эффективная Java Джоша Блоха . Однако у него есть некоторые ограничения, особенно когда вы имеете дело с различными загрузчиками классов, сериализацией и т. Д.
Вы также можете взглянуть на проект Apache Commons Lang и особенно на класс enum, как написал Джон. Это реализация этого шаблона и поддерживает создание ваших собственных перечислений.
Обычно я создаю то, что я называю константным классом, что-то вроде этого:
public class MyConstant
{
public static final MyConstant SOME_VALUE = new MyConstant(1);
public static final MyConstant SOME_OTHER_VALUE = new MyConstant(2);
...
private final int id;
private MyConstant(int id)
{
this.id = id;
}
public boolean equal(Object object)
{
...
}
public int hashCode()
{
...
}
}
где равно
и hashCode
используют идентификатор
.
Apache Commons Lang имеет класс Enum , который хорошо работает и довольно хорошо покрывает то, что предлагают Java 5 Enums.