我試圖使用hazelcast multimaps和映射與已經序列化的數據,即鍵和值都是字節數組。如下所示,它不能按預期工作。哈希問題。如何使用帶有字節數組鍵和值的hazelcast map/multimap?
在javadoc中,在「gotchas」部分中指出哈希是通過序列化表單上的hazelcast處理的,並且不依賴於hashCode和equals(它們在字節數組情況下不會被重寫)的實現。所以,我不明白爲什麼顯然,使用Object.hashcode。
請有人告訴我如何使用帶有字節數組的榛木地圖?
我是否有義務用足夠重寫的hashcode/equal方法存儲字節數組包裝?
感謝您的任何幫助。
問題:
scala> val mm:MultiMap[Array[Byte], Array[Byte]] = hi.getMultiMap("test-baMuMa")
mm: com.hazelcast.core.MultiMap[Array[Byte],Array[Byte]] = MultiMap [test-baMuMa]
scala> mm.put("a".getBytes,"b".getBytes)
res29: Boolean = true
scala> mm.put("a".getBytes,"b".getBytes)
res30: Boolean = true
// => should return false..
scala> mm.remove("a".getBytes,"b".getBytes)
res31: Boolean = false
// => should return true
scala> mm.containsEntry("a".getBytes,"b".getBytes)
res32: Boolean = false
// => should return true (confirmed that removal did not occur)