首页 > 解决方案 > 在 Java 中将 DefaultListModel 转换为 List

问题描述

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

这是我得到的错误:

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

标签: javalistswingjlistdefaultlistmodel

解决方案


如何将 DefaultListModel 转换为 List ?

Arrays.asList(defaultListModel.toArray());


描述:

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

computeSpending(ListModel<Subscription>)

此外,如果您必须需要将DefaultListModel<Subscription>传入 a List,您可以使用:

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

推荐阅读