当您使用第二种方法时,您将使用其预定义的值初始化数组列表。就像一般情况下我们做 ArrayList listofStrings = new ArrayList<>();假设您有一个包含值的数组,现在您要将此数组转换为数组列表。
您需要首先使用数组 utils 从数组中获取列表。因为 ArrayList 是实现 List 接口的具体类型。不能保证方法 asList 将返回这种类型的实现。
List<String> listofOptions = (List<String>) Arrays.asList(options);
然后,您可以使用数组列表的用户构造函数以使用预定义的值进行实例化。
ArrayList<String> arrlistofOptions = new ArrayList<String>(list);
因此,您的第二种方法是,您已经传递了值,这些值将使用列表元素来初始化数组列表。
更多
从 Arrays.asList 返回的 ArrayList 不是实际的 arraylist,它只是一个包装器,不允许在列表中进行任何修改。如果您尝试在 Arrays.asList 上添加或删除,它将为您提供
不支持的操作异常