有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

异常处理java。util。使用队列时出现NoTouchElementException

我使用的是if语句,当它运行时,会显示异常java。util。非接触性异常

代码如下所示

if (BackgroundService.pendingQueue != null) {
                logger.error("Here is clear step next 2 ");

            BackgroundService.pendingQueue.remove();

            logger.error("Here is clear step next 3 ");
        }       
        logger.info("BackgroundService.pendingQueue="+BackgroundService.pendingQueue.
size());
        if(BackgroundService.pendingQueue.size() == 0){
            BackgroundService.pendingQueue.clear();
        }
        logger.info("BackgroundService.pendingQueue after task done is ="+BackgroundService.pendingQueue.size());
    }

BackgroundService.pendingQueue.remove();语句的“clear step 2”和“clear step 3”语句之间显示了exeption。 如果你有解决方案,请回复该解决方案


共 (1) 个答案

  1. # 1 楼答案

    我可以想象你的目标是一种队列。 如果试图删除空队列中的对象,则会引发异常NoTouchElementException

    因此,在尝试删除某些内容之前,需要检查队列是否为空:

      if(!BackgroundService.pendingQueue.isEmpty()){
        BackgroundService.pendingQueue.remove();
      }