java - 使用 foreach 循环数组列表不会执行任何操作

标签 java

首先,抱歉英语不好-

我只想将与“Clientes”中的“codCli”具有相同代码的对象从“Ventas”移动到“Historico”,这是我的代码:

public static void Eliminar_Cliente(){

        System.out.println("Que cliente quieres eliminar? (Introduce el código de cliente)");
        int cliE=(sc.nextInt()-1);

        Cliente clienteBuscado=null;

        for (Cliente cliente : cli) {
            if(cliente.codCli==cliE) clienteBuscado=cliente;
        }

        if(clienteBuscado!=null)
        {
          ArrayList<Ventas> ventaAux=new ArrayList();

          for (Ventas venta : vent) {   
              System.out.println("asddsa");
              if (venta.cliente==clienteBuscado.codCli){
                  Historico h = new Historico(venta);
                  his.add(h);
                  ventaAux.add(venta);
              }
          }

          if(!ventaAux.isEmpty())
          {
              for (Ventas ventas : ventaAux) {
                  vent.remove(ventas);
              }
          }

        }

    }

但输出绝对没有任何内容,它甚至没有进入 Ventas' 的每个循环。

有什么帮助吗?

最佳答案

Collection vent 很可能是空的。确保在调用 Eliminar_Cliente 之前正确填充集合。

此外,如果 clienteBuscadonull,则永远不会进入调用 for 循环的 if 语句 block -> 确保为 clienteBuscado 分配了一个值。

更根本的是确保您确实调用了Elimar_Cliente

旁白:Java 命名约定使用 camelCase 作为方法名称,例如 eliminarCliente

关于java - 使用 foreach 循环数组列表不会执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16963543/

相关文章:

java - Spring:@Component 与 @Bean

java - Swing - Qt 信号/槽的替代品

java - 修复从 Object 到 ComboBox<String> javafx 的未检查强制转换

java - 打包时如何更改log4j配置

java - Spring 中接口(interface)的依赖注入(inject)

java - 摆脱 "The value for annotation attribute must be a constant expression"消息

java - jar 创建的构建中出现异常

Java:将 JFrame 焦点转移到另一个 JFrame

java - 数组和方法的问题

java - Spring 集成 - 需要后端异步处理的 Web 服务网关的即时响应