В scala, я думаю, поле объекта будет статичным и не будет сериализовано при сериализации, но если поле не сериализуемо, получено исключение NotSerializableException.Зачем ?Подобный код Java в порядке.
Ниже приведен простой пример.
Спасибо
Код Scala:
package test
import java.io._
import java.util
object AStudent extends Serializable {
var name="Jack"
val map=new util.WeakHashMap
}
object SerializationDemo extends App {
val oos = new ObjectOutputStream(new FileOutputStream("./tmp/stu"))
println(AStudent.name)
AStudent.name=null
println(AStudent.name)
oos.writeObject(AStudent)
oos.close
}
Код Java:
package test;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.WeakHashMap;
public class Stu implements Serializable {
public static String name="Jack";
public static WeakHashMap map=new WeakHashMap();
public static void main(String[] args) throws IOException {
ObjectOutputStream oos= new ObjectOutputStream(new FileOutputStream("./tmp/stu"));
oos.writeObject(new Stu());
oos.close();
}
}