eclipse可序列化成员验证

时间:2011-03-30 09:48:15

标签: java eclipse compilation serializable

当我将Java类定义为Serializable时,Eclipse并没有警告我某些成员不是Serializable,这可能导致应用程序无法序列化@ runtime。

我找不到任何设置来启用成员验证。

如何验证Serializable类的成员是否也可以序列化?

由于

2 个答案:

答案 0 :(得分:0)

假设没有人想出直接在eclipse中做到这一点的方法,我会建议它有一个规则SerializableIdiom的FindBugs插件,我相信这应该突出你担心的问题。

如果需要,我可以添加有关规则的更多详细信息。他们很难在这里显示格式,所以我放弃了将它们添加到原始答案中

答案 1 :(得分:0)

引用一个不是Serializable的类型是合法的,它最终会在运行时指向一个可序列化的对象:


import java.io.Serializable;

public class Test implements Serializable {

private Object data;

public void setData(Object data) {
    this.data = data;
}

}

如果你后者写了类似的东西:

private Object data;

public void setData(Object data) {
    this.data = data;
}

序列化t1没有问题,但会在t2上爆炸。