Java 使用IntelliJ调试器,是否可以继续执行集合迭代,直到变量返回null?

Java 使用IntelliJ调试器,是否可以继续执行集合迭代,直到变量返回null?,java,debugging,intellij-idea,Java,Debugging,Intellij Idea,以下代码段是SpringMVC控制器的一部分。使用commons集合,它迭代County对象列表,并将其转换为字符串[]列表以返回到客户端。使用“searchTerm”变量中的值查找数据。我经常遇到的问题是,某个特定的搜索词会导致转换器抛出异常,因为country.getState()方法似乎返回null。所以我想知道,如果使用IntelliJ的调试器,我是否可以告诉它不断迭代,直到变量为null。断点会使我手动跳过每个迭代,但对于大型集合,这可能需要一段时间 谢谢 public List<

以下代码段是SpringMVC控制器的一部分。使用commons集合,它迭代County对象列表,并将其转换为字符串[]列表以返回到客户端。使用“searchTerm”变量中的值查找数据。我经常遇到的问题是,某个特定的搜索词会导致转换器抛出异常,因为country.getState()方法似乎返回null。所以我想知道,如果使用IntelliJ的调试器,我是否可以告诉它不断迭代,直到变量为null。断点会使我手动跳过每个迭代,但对于大型集合,这可能需要一段时间

谢谢

public List<String[]> cityLookup(@PathVariable String searchTerm) {
    List<County> counties = countyService.findAllByPartialCity(searchTerm);

    return new ArrayList<String[]>(CollectionUtils.collect(counties, new Transformer() {
        @Override
        public Object transform(Object o) {
            return new String[]{((County) o).getId().getCity(), ((County) o).getState().getStateCode()};
        }
    }));
}
public List cityLookup(@PathVariable String searchTerm){
列表县=countyService.findAllByPartialCity(搜索术语);
返回新的ArrayList(CollectionUtils.collect(Countries,new Transformer)(){
@凌驾
公共对象变换(对象o){
返回新字符串[]{((县)o).getId().getCity(),((县)o).getState().getStateCode()};
}
}));
}

不,你不能按你的建议去做

我建议您将返回行分成两行:一行用于获取值,另一行用于构造要返回的数组


您可以将断点放在返回行,并在构建它之前检查值。

在“断点”对话框中应该有一个条件选项


这正是我需要的!谢谢您的建议仍然需要我在每次迭代中进行。凯文在上面对条件断点的回答起到了作用。