Согласен, я пропустил двойную скобку, когда читаю код.

я есть вопрос, потому что я немного запутался (или, может быть, я не замечаю чего-то очевидного). Допустим, у меня есть некоторый исходный код, который содержит много классов, которые содержат большое количество статических полей, определенных как это:

public final class ConverterTYPE  {
    private final static HashMap<String, Byte> STRING_MAP = new HashMap<String, Byte>() {
        {
            put("A", new Byte((byte)12));
            put("B", new Byte((byte)13));
        }
    };

}

Как мы все знаем, статические поля не будут сериализованы.

Однако Java (и Eclipse) жалуется, что «Сериализуемый класс не объявляет статическое окончательное поле serialVersionUID типа long». Почему они не могут заметить, что static не будет сериализован?

И следующий вопрос: будет ли правильным решением этого вопроса использовать@SuppressWarnings("serial") избавиться от всех таких предупреждений?

РЕДАКТИРОВАТЬ:

Ни один из моих классов не реализует интерфейс Serializable (или ни один из их суперклассов). И Затмение указывает наHashMap<String, Byte> с его предупреждениями. Почему он не обнаруживает, что это статическое поле?

Ответы на вопрос(2)

Ваш ответ на вопрос