@SuppressWarnings ("serial")

Eu tenho uma pergunta porque estou ficando um pouco confusa (ou talvez não esteja percebendo algo óbvio). Digamos que eu tenho algum código fonte que contém muitas classes que contêm um grande número de campos estáticos definidos como este:

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));
        }
    };

}

Como todos sabemos, os campos estáticos não serão serializados.

No entanto, Java (e Eclipse) reclama que "A classe serializável não declara um campo serialVersionUID final estático do tipo long". Por que eles não percebem que a estática não será serializada?

E a próxima pergunta: seria uma solução certa para esse problema usar@SuppressWarnings("serial") se livrar de todos esses avisos?

EDITAR:

Nenhuma das minhas classes implementa a interface serializável (ou nenhuma de suas superclasses). E o Eclipse está apontando paraHashMap<String, Byte> com seus avisos. Por que ele não detecta que é um campo estático?

questionAnswers(2)

yourAnswerToTheQuestion