我正在尝试用titan graph数据库序列化uuid,我相信我不能,因为根据serializable的定义,java.util.uuid无法提供无参数构造函数。
(见本章顶部)http://docs.oracle.com/javase/7/docs/api/java/io/serializable.html 为此)
既然java.util.uuid声称实现了可序列化,这里发生了什么?这仅仅是一个历史性的错误,不能消除向后兼容,还是有一个特定的技术原因,这种奇怪的(对我来说,恼人的)选择?
更新:根据答案,uuid实际上是可序列化的,我误读了no-arg构造函数规则,该规则很微妙,实际上不需要在同一个类中使用no-arg构造函数。我无法序列化的原因是titan(或其依赖项)添加了更严格的no-arg声明构造函数规则,而不是核心java。我不知道是谁强加了这个规则,java还是titan。
1条答案
按热度按时间gajydyqb1#
可序列化类不需要无参数构造函数。它最近的不可序列化基类没有。
你误读了说明书。