Java 带有clojure.lang.PersistentHashMap的ObjectInputStream
我有一个奇怪的问题Java 带有clojure.lang.PersistentHashMap的ObjectInputStream,java,serialization,clojure,Java,Serialization,Clojure,我有一个奇怪的问题 如果我使用字符串类型的clojure映射,Long 使用Clojure 1.6.0使用java.io.ObjectInputStream对其进行序列化 使用Clojure 1.5.1使用java.io.ObjectInputStream对其进行反序列化 我可以在repl中打印新映射,使用vals获取所有值,使用keys获取所有键,但是使用get无法获取值 (获取新映射“stringkey”)=>nil 然而,into{}修复了一些问题 我知道在使用Java序列化时切换版本可能
java.io.ObjectInputStream对其进行序列化
java.io.ObjectInputStream对其进行反序列化
vals
获取所有值,使用keys
获取所有键,但是使用get
无法获取值
(获取新映射“stringkey”)=>nil
然而,into{}
修复了一些问题
我知道在使用Java序列化时切换版本可能不是一个好主意,我确实可以解决这个问题,但我现在对为什么会发生这种情况感兴趣?Clojure的哈希代码更改为1.6,而
get
依赖于正在查找的键的哈希