Java 使用Arrays.asList()追加到原始数组或从原始数组中删除是否有效?
我遇到了一个Java EE方法,其代码如下:Java 使用Arrays.asList()追加到原始数组或从原始数组中删除是否有效?,java,arrays,Java,Arrays,我遇到了一个Java EE方法,其代码如下: (new ArrayList<Customer>(Arrays.asList(Customers))).add(((Customer) event.getObject())) (新的ArrayList(Arrays.asList(Customers))).add(((Customer)event.getObject()) 这是托管Bean中的一行代码,它利用了一些Primefaces特性(“事件”)这是一个Primefaces dat
(new ArrayList<Customer>(Arrays.asList(Customers))).add(((Customer) event.getObject()))
(新的ArrayList(Arrays.asList(Customers))).add(((Customer)event.getObject())
这是托管Bean中的一行代码,它利用了一些Primefaces特性(“事件”)这是一个Primefaces datatable选择事件,基本上它允许用户选择数据表上的条目,并从客户对象数组中添加/删除,删除代码非常相似,唯一的区别是它从列表中删除了一个Customer
对象)。并且没有进一步的代码将新构造的ArrayList转换回数组,并将数组设置为新的
在代码中,Customers
是代码附加到/删除的数组,我从这行代码中看到的是,它从数组Customers
创建了一个ArrayList,并将另一个Customer
对象附加到列表中,但从实际使用情况来看,这行代码似乎能够增加数组的大小并将新对象附加到数组中
所以我想我的问题是:这真的是调整固定大小数组的大小并将其附加到/删除的合法方法吗?还是我错过了什么
提前感谢。此行不会更改原始阵列的长度(
客户
),这是不可能的。它创建一个新的ArrayList
,该列表由数组返回的固定长度列表的元素初始化。asList
,并向该新的ArrayList
添加一个元素。您试用过吗@谢谢你!我试过了,它似乎没有改变原来的数组。这个jsf或PrimeFaces怎么样related@Kukeltje因为在前端,我使用Primefaces显示一个数据表,允许用户选择表中的条目并操作托管bean字段(在我的例子中,是数组的大小和存储在其中的对象)。我仍然不确定是什么造成了这些变化(谢谢!我尝试了一些方法,但似乎是其他方法改变了数组的大小。可能是Primefaces selection datatable:/@RuiChen数组的长度无法更改。可能是在某个地方创建了一个新数组,并将其分配给Customers
变量。这就是我的想法,因为那行代码看到了,所以我不确定。)ms是唯一一个主动从托管bean更改数组的方法。也许我应该打开另一个线程,因为我现在很困惑:/