java - MapDB中领域对象的序列化

标签 java mapdb

例如,在我的 mapdb 应用程序中,我有一个简单的域对象类(class):

import java.io.Serializable;

class Course implements Serializable {
  private static final long serialVersionUID = 1L;
  String cID;
  String name;
  String teacherName;
  String departmentName;
  public Course(String name) {
    this.name = name;
    System.out.println("Update: added course \"" + name);
  }
}

通过反复试验,我添加了实现 Serializable、serialVersionID 和我自己的域 key cID。一切似乎都有效。但这是我将其存储到 MapDB 中的代码:

NavigableMap<String, Course> courses;
courses = db.treeMap("courses", Serializer.STRING, Serializer.JAVA).createOrOpen();

给出警告:

Type safety: The expression of type BTreeMap needs unchecked
conversion to conform to NavigableMap<String,Course>

我不明白这个错误,但我相信它与我作为 Serializer.JAVA 的序列化有关。发生了什么事,或者我做错了什么?

最佳答案

将泛型添加到 TreeMap 方法:

     courses = db.<String, Course>treeMap

关于java - MapDB中领域对象的序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43442021/

相关文章:

java - 字符串正则表达式解析数据中的分号

java - 如何在intellij IDEA上使用proguard?

java - 正则表达式删除两个字符串之间的子字符串

java - MapDB实现BTreeMap时如何使用byte数组作为key

java - MapDB在创建CircularQueue时不接受Serializer

java - MapDB、序列化器和压缩

java - 对象中的方法 clone() 不可见?

java pgm 2 jpeg/png

android - 在 Android 上使用 MapDB 的最佳实践

java - 高效使用 MapDB(对提交感到困惑)