【问题标题】:Check if element in for each loop is empty检查每个循环中的元素是否为空
【发布时间】:2018-07-04 08:18:57
【问题描述】:

我现在正在构建一个网络爬虫。每个循环我都有这个:

for(Element src : images) {
            System.out.println("Source " + src.attr("abs:src"));
        }

如果图像中没有元素 src,我如何让我的程序打印出没有图像?

【问题讨论】:

  • 您可以为此使用例外...geeksforgeeks.org/exceptions-in-java
  • @SarbjyotSinghChahal 不要对控制流使用异常。
  • 只需检查images 是否为空,只需检查其size()?

标签: java web-crawler


【解决方案1】:

基于您的images 是可用的ArrayList<>,您应该这样做:

   if(images.size() > 0){
      for (Element src : images){
          if (src != null) {
             System.out.println("Source " + src.attr("abs:src"));
          }
      }
  } else {
      System.out.println("There are no elements in ArrayList<> images");
  }

首先检查 ArrayList 中是否有元素。如果现场没有元素,请将其打印出来。如果有元素,则通过 foreach 循环并检查每个元素是否不为空。

【讨论】:

  • 我不认为src 本身可能为空,而src.attr("abs:src") 可能是null 并且必须检查
  • 但是问题是,如何检测ArrayList里面是否有元素,如果没有,打印出来。
猜你喜欢
  • 2018-04-25
  • 1970-01-01
  • 1970-01-01
  • 2018-06-27
  • 2019-01-31
  • 2023-03-06
  • 2021-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多