我必须将DefaultListModel(在列表框中)的所有元素放入一个List<Object>.我怎么能用Java做到这一点?
如果您想复制内容,那么您可以使用它DefaultListModel.toArray来获取数据并构建您喜欢的List实现.或者,你可以循环ListModel.getElementAt ListModel.getSize多次.
如果要在集合之间建立实时连接而不是副本,请使用AbstractList:
public static List<Object> asList(final DefaultListModel model) {
return new AbstractList<Object>() {
@Override public Object get(int index) {
return model.getElementAt(index);
}
...
};
}
Run Code Online (Sandbox Code Playgroud)
您可能希望Class.cast在那里滑动,但Swing类型不存在泛型存在固有问题.
| 归档时间: |
|
| 查看次数: |
11972 次 |
| 最近记录: |