Java 类型化DefaultListModel以避免强制转换

Java 类型化DefaultListModel以避免强制转换,java,generics,list,model,casting,Java,Generics,List,Model,Casting,java中有没有一种方法可以让ListModel只接受某个类型? 我要寻找的是类似于DefaultListModel或TypedListModel,因为DefaultListModel只实现addElement(Object obj)和get(int index),当然返回Object 这样,我总是必须从对象转换到例如字符串,并且不能保证我的模型中只有字符串,即使我想强制执行 这是一个缺陷还是我使用列表模型的方式不对?类DefaultListModel在源代码中的顶部确实包含以下内容: 此类松散

java中有没有一种方法可以让ListModel只接受某个类型? 我要寻找的是类似于
DefaultListModel
TypedListModel
,因为DefaultListModel只实现
addElement(Object obj)
get(int index)
,当然返回
Object

这样,我总是必须从
对象
转换到例如
字符串
,并且不能保证我的模型中只有字符串,即使我想强制执行


这是一个缺陷还是我使用列表模型的方式不对?

类DefaultListModel在源代码中的顶部确实包含以下内容:

此类松散地实现了
java.util.Vector
API,因为它实现了
java.util.Vector
,不支持集合类, 并在发生更改时通知
ListDataListener
s。 目前,它委托给一个
向量
, 在未来的版本中,它将是一个真正的集合实现

听起来这只是一门古老的课程。我想如果您足够绝望,您可以编写自己的版本(实现AbstractListModel接口)。如果您只是因为不得不一直将其转换为字符串而感到烦恼,那么foreach语法肯定会帮您做到这一点吗