scala的动作方式@Serializable
与Java Serializable
不同?scala @Serializable和Java Serializable有什么区别?
我的意思是序列化对象的方式或两者都使用相同的标准序列化?
scala的动作方式@Serializable
与Java Serializable
不同?scala @Serializable和Java Serializable有什么区别?
我的意思是序列化对象的方式或两者都使用相同的标准序列化?
Scala编译为JVM字节码,所以唯一的区别来自于Scala如何实现这种转换。在类型检查过程中,Scala会将注释转换为接口,这会导致一些细微的问题see here。
无论如何,Afaik @Serializable已被弃用 - 与scala中的其他注释(volatile注释,而不是指定者)相比,我并没有看到太多的优点..不会使代码更清晰或更简单。
Scala不会编译为Java代码。它编译为JVM字节码,就像Java一样。 –
@Don是的我应该说java的字节码,因为这是最终的结果。但据我所知,scala使用java编译器,声明在技术上是正确的(如果只是在中间步骤);) – Voo
这是不正确的; scalac直接编译成字节码。 –
可串行化只是一个标记接口。你不需要实现任何方法。一个注释应该是一个更干净的解决方案。但意思是一样的。
在Scala 2.9 @Serializable已弃用,您应该像在Java中一样实现Serializable – tuxSlayer