Я выполняю поиск bar из моей локальной базы данных, которая выполняет поиск из db, когда пользователь вводит информацию. Проблема в том, что я объединяю последний символ и предыдущие, а затем отправляю его для поиска. {SUCCESSFUL_COMPLETION ("00000"), ПРЕДУПРЕЖДЕНИЕ ("01000"); закрытый финальный строковый код; SQLState (String code) { ...
Дано перечисление, в котором каждый экземпляр связан с некоторым значением:
public enum SQLState
{
SUCCESSFUL_COMPLETION("00000"),
WARNING("01000");
private final String code;
SQLState(String code)
{
this.code = code;
}
}
Как я могу построить карту для эффективного обратного просмотра? Я пробовал следующее:
public enum SQLState
{
SUCCESSFUL_COMPLETION("00000"),
WARNING("01000");
private final String code;
private static final Map<String, SQLState> codeToValue = Maps.newHashMap();
SQLState(String code)
{
this.code = code;
codeToValue.put(code, this); // problematic line
}
}
, но Java жалуется: Недопустимая ссылка на статическое поле из инициализатора
. То есть статическая карта инициализируется после всех значений перечисления, поэтому вы не можете ссылаться на нее из конструктора. Есть идеи?