Java 类型化DefaultListModel以避免强制转换
java中有没有一种方法可以让ListModel只接受某个类型? 我要寻找的是类似于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在源代码中的顶部确实包含以下内容: 此类松散
DefaultListModel
或TypedListModel
,因为DefaultListModel只实现addElement(Object obj)
和get(int index)
,当然返回Object
这样,我总是必须从对象
转换到例如字符串
,并且不能保证我的模型中只有字符串,即使我想强制执行
这是一个缺陷还是我使用列表模型的方式不对?类DefaultListModel在源代码中的顶部确实包含以下内容: 此类松散地实现了
java.util.Vector
API,因为它实现了
java.util.Vector
,不支持集合类,
并在发生更改时通知ListDataListener
s。
目前,它委托给一个向量
,
在未来的版本中,它将是一个真正的集合实现
听起来这只是一门古老的课程。我想如果您足够绝望,您可以编写自己的版本(实现AbstractListModel接口)。如果您只是因为不得不一直将其转换为字符串而感到烦恼,那么foreach语法肯定会帮您做到这一点吗