传递给另一个对象方法时没有写入ArrayList?

时间:2014-05-03 12:39:56

标签: java object methods arraylist kepler

我的代码出现问题,看起来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大小的方法。由于某种原因,它没有被写入。

我认为如果我将一个对象发送到一个方法,就像发送一个指向存储对象的内存位置的指针并编辑它。

我有什么不对的吗?

0 个答案:

没有答案