我正试图在我的项目中包装(并简化)MapDB库,如下所示:
public class MapDbPersistentStorage<V> { private DB db; private HTreeMap<String, V> storage; public MapDbPersistentStorage(String filename) { db = DBMaker .fileDB(filename) .fileMmapEnable() .make(); storage = (HTreeMap<String, V>) db .hashMap("section", Serializer.STRING, Serializer.LONG) .createOrOpen(); } public V get(String key, V defaultValue) { return storage.getOrDefault(key, defaultValue); } public void set(String key, V value) { storage.put(key, value); } public void close() { db.close(); } }
正如已经指出的那样,问题是Serializer.LONG
部分(它应该是V
类型)。我需要根据提供的泛型类型提出一个序列化器。这样做的正确方法是什么?