1
在Java中,所有集合都是可序列化的,但不知何故,當我想向遠程參與者發送scala集合時,總會遇到異常。它總是以例外的方式結束。重要的是,集合是可變的,隨機訪問如何序列化Scala中遠程演員的集合?
[error] [email protected]: caught java.io.NotSerializableException: scala.collection.mutable.ArraySeq
[error] java.io.NotSerializableException: scala.collection.mutable.ArraySeq
[error] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
[error] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
[error] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
[error] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
[error] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
收集嵌套到另一個類,然後通過網絡發送
@serializable
class NetworkSendable[A]{
val data = new collection.mutalbe.ArraySeq[A](10)
}
此刻我正在使用java.util.ArrayList.asScala,因爲它的工作,但真的沒有可序列化的Scala集合?我不相信這一點,因爲通過網絡發送集合應該是一個相當普遍的任務。你認爲這些收藏不會序列化的原因是什麼? – Arne