Я хочу создать multimap, где значение может быть общим типом данных. Например:
MultiMap<String,Integer> columnvalueMapList = new MultiMap<String,Integer>();
Здесь вместо целого, я хочу сделать общий тип данных. Как я могу это сделать?
Вы можете использовать Object
как тип значения на Map
. Однако это редко бывает хорошей идеей, так как вам, скорее всего, понадобится instanceof
и casts, чтобы использовать объекты, которые вы извлекаете.
Часто мотивация для этого заключается в том, чтобы иметь возможность хранить объекты разных классов без обычного суперкласса. Однако лучшим вариантом в этих ситуациях является использование interface
для определения общего поведения для всех элементов коллекции. Тогда любые классы, которые могут быть добавлены в коллекцию, должны реализовать этот интерфейс. Затем вы объявляете свою коллекцию как, например, List<CommonInterface>
. Это безопаснее, понятнее и понятнее.
new MultiMap<String,Object>();
?Object
поэтому вы можете использоватьObject
для обозначения любого объекта.