スカラの動作方法はJava Serializable
とは異なりますか?scala @SerializableとJava Serializableの違いは何ですか?
私はオブジェクトをシリアライズする方法を意味するか、両方とも同じ標準シリアル化を使用しますか?
スカラの動作方法はJava Serializable
とは異なりますか?scala @SerializableとJava Serializableの違いは何ですか?
私はオブジェクトをシリアライズする方法を意味するか、両方とも同じ標準シリアル化を使用しますか?
まあ、ScalaはJVMのバイトコードにコンパイルするので、唯一の違いはScalaがこの変換をどのように実装するかにあります。 Scalaは型チェックの際に注釈をインタフェースに変換し、微妙な問題につながる可能性がありますsee here。
Afaik @Serializableは、スカラの他の注釈(指定子ではなく揮発性の注釈)と比較して、とにかく推奨されていません。コードをもっとはっきりさせず、単純にしません。
ScalaはJavaコードにコンパイルされません。 Javaと同様に、JVMバイトコードにコンパイルされます。 –
@Don Yeahそれは最終的な結果であるので、私はJavaのバイトコードを述べたはずです。しかし、理解しているように、scalaはJavaコンパイラを使用しているため、ステートメントは技術的に真です(中間ステップでのみ); – Voo
これは正しくありません。 scalacはバイトコードにまっすぐコンパイルします。 –
シリアライザブルは単なるマーカーインターフェイスです。どの方法を実装する必要はありません。アノテーションはよりクリーンなソリューションであると考えられています。しかし、意味は同じです。
Scala 2.9では@Serializableは推奨されず、Javaで行うようにSerializableを実装する必要があります – tuxSlayer