有没有一种方法可以更优雅地编写此“ if”列表?

f3d3

假设我有一个对象POJO样式,并且对于它的某些属性,我必须检查是否等于特定值。如果是这样,我必须将此属性添加到列表中并引发异常(如果其中一个属性等于特定值,则仅抛出一次)。有没有比这更好的方法呢?

// pseudocode
List<String> list = new ArrayList<String>();
boolean haveToThrowException = false;
if (object.getAttributeA().equals(“0”) {
     list.add(object.getAttributeA());
     haveToThrowException = true;
}
if (object.getAttributeB().equals(“0”) {
    list.add(object.getAttributeB());
    haveToThrowException = true;
}
if (object.getAttributeC().equals(“0”) {
    list.add(object.getAttributeC());
    haveToThrowException = true;
}//and so on

if (haveToThrownException) {
    throw new Exception(list.toString());
}
安迪·特纳(Andy Turner)

您可以这样做:

List<String> list =
    Stream.of(object.getAttributeA(), object.getAttributeB(), object.getAttributeC())
        .filter("0"::equals)
        .collect(toList());
if (!list.isEmpty()) {
  throw new Exception(list.toString());
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有一种方法可以编写包含返回列表列表的函数的模块?

有没有一种方法可以通过遍历日期列表来创建此报告?

有没有一种方法可以在表格列表中创建列表?

有没有一种方法可以“遍历列表”?

有没有一种方法可以将列表理解重写为for循环?

有没有一种方法可以合并R中的回归摘要列表?

有没有一种方法可以直接存储列表的索引范围?

有没有一种方法可以使for循环沿列表的元素重复?

有没有一种方法可以加快列表理解速度?

有没有一种方法可以计算javascript中的聚会列表?

有没有一种方法可以衡量列表的排序方式?

有没有一种方法可以刷新VSCode中的任务列表?

有没有一种方法可以显示特定语言的摘要列表?

有没有一种方法可以从项目列表中自动创建类别?

有没有一种方法可以使Python列表需要某个对象?

有没有一种方法可以快速缩短偏好列表

有没有一种方法可以使html列表像这样

有没有一种方法可以遍历列表并分配变量

切片时,有没有一种方法可以从列表的末尾开始?

有没有一种方法可以将列表放入Python集?

Erlydtl:有没有一种方法可以渲染模板中的记录列表?

有没有一种方法可以将列表与其他匹配?

在Python中,有没有一种方法可以始终如一地对由列表和元组组成的列表进行排序?

有没有一种方法可以很好地使用gson获取具有Java中具有4个变量的数组的列表

有没有一种优雅的方法可以在python中的多层列表中找到一个项目

有没有一种方法可以轻松地将2个索引之间的所有元素放入Python中的嵌套列表中?

有没有一种方法可以从单个列表理解表达式输出多个列表?

有没有一种方法可以追加到列表并同时增加列表的大小?

有没有一种方法可以在tkinter标签中打印列表列表?