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