serialVersionUID
используется только для сериализации Java (с использованием контракта JVM Serializable
), что (вполне очевидно) не поддерживается в GWT.
Это означает, что вы можете спокойно игнорировать предупреждение;и вы также можете безопасно добавить serialVersionUID
для успокоения Eclipse, так как он будет удален компилятором.
(я полагаю, вы также можете настроить Eclipse, чтобы он не генерировал предупреждение)
Кроме того, вы не должны инициализировать свой HashMap
таким образом (то есть создать анонимный подкласс HashMap
, который инициализирует себя в своем инициализаторе).Вам лучше использовать статический инициализатор:
final static Map<Integer, Types> getType;
static {
getType = new HashMap<Integer, types>();
getType.put(1, Types.TYPE1);
getType.put(2, Types.TYPE2);
...
// you could even use Collections.unmodifiableMap here
}
или использовать Gumm's ImmutableMap : окончательная статическая карта getType = ImmutableMap.builder () .put (1, Types.TYPE1) .put(1, Types.TYPE2) ... .build ();
Еще лучше, если ваши целочисленные значения отображаются в порядке объявления констант перечисления, вы можете просто использовать Enum # values () вместо map:
Types typeFromInt(int i) {
return Types.values()[i];
}