有没有办法像这样使用字节数组作为键BTreeMap
:
BTreeMap<byte[], Integer> myBTreeMap = db.getTreeMap("myBTreeMap");
当前尝试将新对象放入地图时会引发此异常:
Exception in thread "main" java.lang.ClassCastException: [B cannot be cast to java.lang.Comparable ...
什么是使它工作的正确方法?我想知道不使用包装类的解决方案。
欢迎任何想法。
[更新]
我使用了 SJuan76 提出的解决方案:
BTreeMap<byte[], Integer> myBTreeMap = db.createTreeMap("myBTreeMap")
.comparator(SignedBytes.lexicographicalComparator())
.makeOrGet();
如果需要,可以在 Guava 库中找到使用的比较器。