java警告匿名子类(?)没有串行版本
我在创建我们的项目时收到了一个非常奇怪的警告。
该语句缺少serialVersionUID
,但事实上,所讨论的类确实定义了这样的类
有人能解释一下下面的错误吗
[WARNING] /build/location/com/our/company/package/SomeClass.java:[178,56] [serial] serializable class <anonymous com.our.company.package.SomeClass$1> has no definition of serialVersionUID
我不知道SomeClass$1
在这种情况下是什么意思
# 1 楼答案
SomeClass$1
是SomeClass
中包含的第一个匿名类。所以在SomeClass
的代码中的某个地方,您使用了一个anonymous class,例如:警告是,生成的匿名类没有)
serialVersionUID
,这可能会导致序列化问题。(我猜匿名类的基类必须是^{你可以给它一个:
。。。尽管关于可序列化嵌套类是否是最佳实践存在一些争论(one,two)