我在http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/VERSIONS/JAVA/MTRandom.java使用 Mersenne-Twister 实现作为默认的替代品java.util.Random
班级。但是,四个字段(一个 int、一个 boolean 和两个 byte[])被标记为transient
. 这意味着我无法在不实现自定义功能的情况下序列化此类的对象。
问题是,是否有任何理由将这些字段标记为瞬态?那里是否有任何代码包含从文件中读取对象时没有任何意义的信息?我transient
从字段中删除了修饰符,它似乎工作正常,但我没有对它进行深入测试,所以可能会有它坏掉的情况吗?
就个人而言,我不明白为什么,因为课堂上所做的都是算术。