我遇到了一些Java EE方法,其代码如下:
(new ArrayList<Customer>(Arrays.asList(Customers))).add(((Customer) event.getObject()))
这是来自Managed Bean的单行代码,它使用了一些Primefaces功能(&#34; event&#34;这里是一个Primefaces数据表选择事件,基本上它允许用户在数据表上选择条目并且从ARRAY of Customer对象中添加/删除,删除代码非常相似,唯一的区别是它从列表中删除了Customer
对象。并且没有其他代码可以将新构造的ArrayList转换回数组并将数组设置为新的。
在代码中,Customers
是代码附加/删除的数组,我从这行代码中可以看到,它是从数组Customers
创建一个ArrayList并附加的另一个Customer
对象到列表,但从实际使用情况来看,这行代码似乎能够增加数组的大小并将新对象附加到它。
所以我想我的问题是:这真的是一种合法的方法来调整大小并附加到固定大小的数组/从中移除吗?还是我错过了什么?
提前谢谢。
答案 0 :(得分:2)
此行不会更改原始数组(show()
)的长度,这是不可能的。它会创建一个新的Customers
,该ArrayList
由List
返回的固定长度Arrays.asList
的元素初始化,并为该新ArrayList
添加一个元素。