Сериализация объектов домена в MapDB

Например, в моем приложении mapdb есть простой объект предметной области Course:

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 и свой собственный ключ домена, 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. Что происходит, или что я делаю неправильно?


person pitosalas    schedule 16.04.2017    source источник


Ответы (1)


Добавьте дженерики в метод карты дерева:

     courses = db.<String, Course>treeMap
person Jan Kotek    schedule 20.04.2017
comment
это не Java-код, и он не собирается, пожалуйста, вставьте полный код - person Stepan Yakovenko; 13.10.2018
comment
Это действительная Java. Обычно вы не видите типы со ссылками на методы, но язык позволяет это. - person mrog; 22.03.2019