我的代码出现问题,看起来java只是不想写一个ArrayList我发送给另一个对象的方法。
让我告诉你代码:
public static void main(String[] args) {
ArrayList<Cliente> clients = new ArrayList<Cliente>();
ArrayList<Producto> products = new ArrayList<Producto>();
ArrayList<Personal> personel = new ArrayList<Personal>();
ArrayList<Pedido> pedidos = new ArrayList<Pedido>();
FileManager fm = new FileManager();
boolean loop = true;
int menu = 0; //variable menu
fm.Load(clients,products,pedidos,personel);
IOManager.print(clients.size());
}
现在你可以看到我正在创建一个名为&#34;客户端&#34;的客户端类型对象。我将它发送到FileManager的Load方法(对象,而不是静态)
在Load方法中,您可以看到:
public void Load(ArrayList<Cliente> clients, ArrayList<Producto> prod, ArrayList<Pedido> pedi, ArrayList<Personal> pers) {
if (clients.isEmpty()){
clients = leerClientes();
IOManager.print(clients.get(0).getNombre());
}
if (prod.isEmpty()){
prod = leerProducto();
}
if (pedi.isEmpty()){
pedi = leerPedido();
}
if (pers.isEmpty()){
pers = leerPersonal();
}
}
正如你所看到的,我已经设置了一些调试打印,所以我可以看到最新情况。 leerClientes()方法将读取(先前从另一个sesion保存的)ArrayLists文件(这样做效果很好,所以不用担心)。
现在,如果你回到主要部分,你可以看到最后有一个&#34; print&#34;在控制台上显示我发送的ArrayList大小的方法。由于某种原因,它没有被写入。
我认为如果我将一个对象发送到一个方法,就像发送一个指向存储对象的内存位置的指针并编辑它。
我有什么不对的吗?