Как создать мультикарту общего значения типа данных в Java

1

Я хочу создать multimap, где значение может быть общим типом данных. Например:

  MultiMap<String,Integer> columnvalueMapList = new MultiMap<String,Integer>();

Здесь вместо целого, я хочу сделать общий тип данных. Как я могу это сделать?

  • 3
    new MultiMap<String,Object>(); ?
  • 0
    Все объекты являются экземплярами Object поэтому вы можете использовать Object для обозначения любого объекта.
Теги:
multimap

1 ответ

4
Лучший ответ

Вы можете использовать Object как тип значения на Map. Однако это редко бывает хорошей идеей, так как вам, скорее всего, понадобится instanceof и casts, чтобы использовать объекты, которые вы извлекаете.

Часто мотивация для этого заключается в том, чтобы иметь возможность хранить объекты разных классов без обычного суперкласса. Однако лучшим вариантом в этих ситуациях является использование interface для определения общего поведения для всех элементов коллекции. Тогда любые классы, которые могут быть добавлены в коллекцию, должны реализовать этот интерфейс. Затем вы объявляете свою коллекцию как, например, List<CommonInterface>. Это безопаснее, понятнее и понятнее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню