java - 编写基于条件的 if 语句的优雅方式

标签 java algorithm simplify

我正在尝试根据一组条件在列表中查找对象。基本逻辑是这样的

for (objectx obj : list)
{
    if (object.property1 > criteria1)
        //accept object
    else (object.property1 == criteria1)
    {
        if (object.property2 > criteria2)
            //accept object
        else (object.property2 == criteria2)
        {
            if (object.property3 > criteria3)
                  ... etc
        } 
    }                                  
}

有没有一种优雅的方法来简化这个烂摊子?

最佳答案

boolean accept = false;
for (int i = 0; i < object.numProps(); i++) {
   if (object.prop[i] > criteria[i]) {
       accept = true;
       break;
   } else if (object.prop[i] < criteria[i]) 
       break;
   // loop continues only if object.prop[i] == criteria[i]
}

关于java - 编写基于条件的 if 语句的优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7079517/

相关文章:

java - 如何在没有服务器的情况下测试我的 Struts 1.2 Web 应用程序?

c++ - 在 c++ 中创建带循环的间隔并确定没有数组的最小值和最大值

sympy - 在 Sympy 中定义符号的范围

uml - 处理 UML 事件图中的组合对象

javascript - 将数组从多个值简化为更少的值

java - Nuance/NDEV 文本转语音 [导入声音文件]

java复杂逻辑条件解析器

绘制抗锯齿圆的算法?

algorithm - 两组潜在变量的 EM 算法

java - 在 JavaFx 应用程序的不同分辨率下闪烁白屏