Serialisierung einer Prioritätswarteschlange in Scala

Ich versuche, eine veränderbare zu serialisierenPriorityQueue in scala (2.10) und bekomme eineNotSerializableException beim Schreiben des Objekts in einen ObjectOutputStream. Ich habe einen einfachen Testfall gemacht:

import java.io.{ByteArrayOutputStream, ObjectOutputStream}
import scala.collection.mutable

object Test extends App {
  val pq = new mutable.PriorityQueue[Int]()
  val oos = new ObjectOutputStream(new ByteArrayOutputStream())
  oos.writeObject(pq)
}

Die Ausnahme ist

Exception in thread "main" java.io.NotSerializableException:scala.collection.mutable.PriorityQueue$ResizableArrayAccess
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at Test$.main(Test.scala:7)

Es scheint, als sollte eine PriorityQueue serialisierbar sein. Kann ich etwas tun, um das zu umgehen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage