不可序列化 class 中的非瞬态不可序列化实例字段?
Non-transient non-serializable instance field in a non serializable class?
我有一个 class 没有扩展 Serializable 或 Externalizable 接口,但我在 netbeans 中使用 FindBugs 时仍然遇到错误。谁能建议我如何解决这个问题?
这是我的class
public class Analyzer extends javax.swing.JPanel implements ItemListener, KeyListener{
public AnalyzerVariable [] objAnalyzerVar = new AnalyzerVariable [3];
public AnalyzerVariable objAnalyzerDataTypeInfo;
}
来自 FindBug 的错误:class Analyzer 定义了一个非瞬态不可序列化实例字段 objAnalyzerVar,对于 objAnalyzerDataTypeInfo 也是如此;
public class Analyzer extends javax.swing.JPanel implements ItemListener, KeyListener{...
Analyser
是子classjavax.swing.JPanel
。
因为 javax.swing.JPanel
是 Serializable
class,所以 Analyser
也是 Serializable
。所以 Findbugs
将其显示为错误。
更多关于 javax.swing.JPanel
- javadoc.
我有一个 class 没有扩展 Serializable 或 Externalizable 接口,但我在 netbeans 中使用 FindBugs 时仍然遇到错误。谁能建议我如何解决这个问题?
这是我的class
public class Analyzer extends javax.swing.JPanel implements ItemListener, KeyListener{
public AnalyzerVariable [] objAnalyzerVar = new AnalyzerVariable [3];
public AnalyzerVariable objAnalyzerDataTypeInfo;
}
来自 FindBug 的错误:class Analyzer 定义了一个非瞬态不可序列化实例字段 objAnalyzerVar,对于 objAnalyzerDataTypeInfo 也是如此;
public class Analyzer extends javax.swing.JPanel implements ItemListener, KeyListener{...
Analyser
是子classjavax.swing.JPanel
。
因为 javax.swing.JPanel
是 Serializable
class,所以 Analyser
也是 Serializable
。所以 Findbugs
将其显示为错误。
更多关于 javax.swing.JPanel
- javadoc.