我目前正在从事一个uni项目,在那里我有一个简单的商店,我可以在其中创建产品,将它们存储到ArrayList
中,然后,我想选择其中一些产品并将它们存储到另一个ArrayList
中。 这个想法是从productList
中选择一个产品(给出索引)并将其存储在shoppingCartList
上。
我目前拥有的:
ArrayList<Producto> listaProductos = new ArrayList<>();
ArrayList<Pedido> listaPedido = new ArrayList<>();
我已经完成了从listaProductos
创建、删除、修改和列出产品的代码,这是我存储所有产品的地方,所以我唯一需要的是一种在给定索引的情况下选择特定项目并存储到listaPedido
的方法,但我找不到合适的方法来做到这一点, 我只知道如何将所有ArrayList
复制到另一个。
所以我的问题是,如何将一个项目从ArrayList
复制到另一个项目?
您可以使用get()
方法从索引处获取项目ArrayList
Producto product = listaProductos.get(index);
其中索引是整数
使用add()
方法将其添加到第二个列表中,由于第二个列表的类型是Pedido
除非它是兼容的类型,否则您无法添加它。您需要将Producto
对象转换为Pedido
,为此您可以创建一个新的"Pedido"对象并从"Producto"设置所有属性,如果您有 getter 和 setter,您可以这样做
Pedido pedido = new Pedido();
pedido.set...(product.get...()); //for all other fields
listaPedido.add(pedido);
如果未写入 getter 和 setter 并且属性public
您可以直接分配
pedido.attributeName = producto.attribute;
查看文档:ArrayList JavaDoc