java - 这是在 Java 中重复方法调用的最干净的方法吗?

标签 java coding-style

下面的代码看起来很乱,但我想不出如何让它更整洁。有任何想法吗?我想为 10、20 和 30 的值调用 doSearch。如果没有返回值的结果,那么我想尝试以下值。否则,退出即可。我知道这行得通,但这是最易读的方式吗?

SearchResult result = doSearch("10");
if (result.getResults() == null) {
  result = doSearch("20");
  if (result.getResults() == null) {
    result = doSearch("30");
    if (result.getResults() == null) {
      // put code to deal with lack of results here
    }
  }
}

最佳答案

这里有一个建议:

SearchResult result = null;
for (String attempt : "10,20,30".split(","))
    if ((result = doSearch(attempt)) != null)
        break;

if (result == null) {
    // put code to deal with lack of results here
}

(正如 Marko Topolnik 在评论中所建议的那样。)

关于java - 这是在 Java 中重复方法调用的最干净的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10717458/

相关文章:

java - 为什么Java中的String类没有实现Iterable?

Java 接口(interface)使用指南——接口(interface)中的 getter 和 setter 是否不好?

java - javax.xml.transform.Source 对象的文件名/路径

python - emacs 23 python.el 自动缩进样式——可以配置吗?

coding-style - 如何命名类似工厂的方法?

c -/**/评论比//更受欢迎吗?

c# - 继承类的泥潭,如何让这段可维护的代码

java - 如何使用 Eclipse 调试器查看集合内对象的类型?

javascript - 格式化javascript函数的正确方法

java - 使用与项目其余部分不同位置的 Java 文件