我需要实现一组复杂的规则,这些规则可以通过许多嵌套条件来完成。我正在寻找一种更优雅的方式来做到这一点。最佳做法是什么? Java Lambda是否支持这些案例?决策树是正确的方法吗?
if(condition 1) {
if (condition 2) {
if (condition 3) {
if (condition 4) {
setValueToObject1();
}
} else //condition 3
setValueToObject2();
}
}
}
} else {
setValueToObject3();
}
答案 0 :(得分:1)
我建议您考虑使用Hamcrest。它允许匹配器以灵活和可扩展的方式组合,具有高可读性。
E.g。
if (allOf(m1, m2, m3)) {
// TODO
}
Hamcrest在单元测试中经常使用,但它是一个通用的库。