Набрал DefaultListModel, чтобы избежать приведения - PullRequest
4 голосов
/ 31 марта 2010

Есть ли в Java способ иметь ListModel, который принимает только определенный тип?Я ищу что-то вроде DefaultListModel<String> или TypedListModel<String>, потому что DefaultListModel реализует только addElement(Object obj) и get(int index), что, конечно, возвращает Object.

Таким образом, я всегда должен приводить от Object к, например, String, и нет никакой гарантии, что в моей модели есть только строки, хотя я бы хотел применить это.1011 * Это недостаток или я неправильно использую списочные модели?

1 Ответ

3 голосов
/ 31 марта 2010

Класс DefaultListModel имеет это верх в источнике:

Этот класс слабо реализует java.util.Vector API, в том, что он реализует версию 1.1.x java.util.Vector, не имеет поддержки класса коллекции, и уведомляет ListDataListener s, когда происходят изменения. В настоящее время он делегирует Vector, в будущем выпуске это будет настоящая реализация Collection.

Похоже, это просто старый класс. Я думаю, вы могли бы написать свою собственную версию (реализовать интерфейс AbstractListModel), если вы достаточно отчаялись. Если вас раздражает необходимость постоянно приводить его к строке, несомненно, синтаксис foreach сделает это за вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...