将 DefaultListModel 转换为 Java 中的列表

Convert DefaultListModel to List in Java

我正在制作一个包含 JList 的 Swing 应用程序,列表中的所有对象都存储在 DefaultListModel 中。同时,我需要将列表传递给一个接收列表作为输入的方法。如何将 DefaultListModel 转换为列表?

这是我得到的错误:

The method computeSpending(List<Subscription>) in the type SubscriptionSpending is not applicable for the arguments (DefaultListModel<Subscription>)

How can i convert a DefaultListModel to a List ?

Arrays.asList(defaultListModel.toArray());


描述:

DefaultListModel 不是 List 的子类。所以不能直接将其作为 List 参数传递。相反,您可以将参数类型更改为 ListModel<E>。如:

computeSpending(ListModel<Subscription>)

此外, 如果你一定要将DefaultListModel<Subscription>传递给List,你可以使用:

List<Subscription> asList = Arrays.asList(defaultListModel.toArray());