@SuppressWarnings(“串行”)
我有一个问题,因为我有点困惑(或者也许我没有注意到一些明显的东西)。假设我有一些源代码,其中包含许多类,这些类包含大量定义如下的静态字段:
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)抱怨“可序列化类没有声明 long 类型的静态最终 serialVersionUID 字段”。为什么他们不能注意到静态不会被序列化?
下一个问题是:用它来摆脱所有这些警告是否是这个问题的正确解决方案?@SuppressWarnings("serial")
编辑:
我的类都没有实现可序列化接口(或者没有一个超类)。Eclipse也带着它的警告指向了这里。为什么它没有检测到它是静态场?HashMap<String, Byte>