小编Hid*_*IRO的帖子

enum的字段必须是Serializable吗?

我正在通过SonarQube 5.1版分析Java SE 7项目.

然后,我面对squid:S1948下面的代码.

"Serializable"类中的字段应该是瞬态的或可序列化的

Serializable类中的字段本身必须是Serializable或transient,即使该类从未显式序列化或反序列化.这是因为在负载下,大多数J2EE应用程序框架将对象刷新到磁盘,而具有非瞬态,不可序列化数据成员的涉嫌Serializable对象可能导致程序崩溃,并为攻击者打开大门.

enum ShutterSpeed {
   private final Rational value; // Make "value" transient or serializable.
   ...
}
Run Code Online (Sandbox Code Playgroud)

我认为任何枚举字段都不会在J2SE 5.0中序列化(枚举常量序列化)

这是假阳性吗?

整个代码和问题都在这里.

java sonarqube

8
推荐指数
1
解决办法
1749
查看次数

标签 统计

java ×1

sonarqube ×1