Можно ли получить список Собаки из списка Животных без приведения?JAVA

Программисты JAVA общаются здесь
Anonymous
Можно ли получить список Собаки из списка Животных без приведения?

Сообщение Anonymous »

У меня есть защищенные животные Map; в моем классе. В моем конструкторе у меня есть

Код: Выделить всё

animals.put("dogs", new ArrayList());
animals.put("cats", new ArrayList());
и все работает, как и ожидалось. Если я хочу собаку или кошку, мне нужно только получить ее с карты и применить.
Но что, если я захочу

Код: Выделить всё

animals.put("dogs", new ArrayList());
не позволяет мне этого. Я также прочитал это в ответах SO. Но оно мне нужно, так как я использую JSF, и мне нужен в выражении EL страницы метод Dog, которого нет у Animal.
Поскольку я создал фабрику для Animal, я подумал использовать ее для получения нужного типа объекта, но это кажется мне немного странным.
Есть ли каким-то образом я могу использовать Animals.put("dogs", new ArrayList()); или другие альтернативы?
PS: я использую Java 7

Подробнее здесь: https://stackoverflow.com/questions/681 ... out-a-cast

Вернуться в «JAVA»