当前位置: 首页 > 知识库问答 >
问题:

遍历对象列表以获取属性的最佳方法

柴默
2023-03-14
List<CommissionSchedule> commissionSched = commissionScheduleRepository.findByCarrier(carrier);
     
List <String> hs= new ArrayList<>();
for (CommissionSchedule cs: commissionSched){
    if (cs.getCategory()!=null){
        hs.add("Category");
    } else if (cs.getAutoNew()!null){
       hs.add("Auto New");
    }
    //...etc

}

这不只是为每个属性做一堆if/else if用例吗?

共有1个答案

孙池暝
2023-03-14

为什么不在CommissionSchedule类中添加一个评估员?

String getHs(){
    return  category !=null ?  "Category":
            autoNew !=null ? "Auto New" :
            "others" ; 
}

然后在循环中,只需调用getHs()方法

使用流应该是这样的。

List<CommissionSchedule> commissionSched = 
    commissionScheduleRepository.findByCarrier(carrier);

List<String> hs = commisionSched.stream()
                        .map(cs -> cs.getHs())
                        .collect(Collectors.toList());

或者,你可以这样做

List <String> hs= new ArrayList<>();
for (CommissionSchedule cs: commissionSched){
    hs.add(cs.getHs());  
}
 类似资料:
  • 问题内容: 情况:我有一个包含多个子对象和子子对象的大对象,其属性包含多个数据类型。为了我们的目的,该对象看起来像这样: 我需要遍历此对象并构建一个显示层次结构的键的列表,因此该列表最终看起来像这样: 我有这个函数,它确实遍历对象并吐出键,但不是按层次排列: 问题答案: 如果属性为原始类型,则我将存储一个字符串,然后将其输出:

  • 问题内容: 如何在Python中遍历对象的属性? 我有一堂课: 现在,我可以通过执行以下操作获取我的信息: 我想要做的是像这样循环遍历for循环中的属性: 问题答案: 更新 对于python 3,您应该使用而不是 PYTHON 2 PYTHON 3 这将打印

  • 问题内容: 当存在时,是否有可能获得全部列表?是否为此准备了电话,还是我必须编写一个foreach循环,如: 问题答案: Java 8及更高版本: 如果需要确保得到结果,则必须将最后一行更改为: Java 7及以下版本: Java 8之前的标准集合API不支持这种转换。您必须编写一个循环(或将其包装在您自己的“地图”函数中),除非您使用一些更高级的集合API /扩展。 (您的Java代码段中的行正

  • 问题内容: 我从Web服务返回一个List <>作为JSON对象的列表。我正在尝试使用一个for循环来遍历列表并从属性中获取值。这是返回的JSON的示例: 因此,我尝试使用类似以下的方法提取内容: 应该怎么做? 问题答案: 今天遇到了同样的问题,您的话题对我有所帮助,所以这里找到解决方法;

  • 问题内容: 如何遍历对象的所有属性?现在,我必须编写新的代码行以打印对象的每个属性 我可以使用foreach循环或任何循环遍历对象的所有属性吗? 像这样 问题答案: 如果这仅用于调试输出,则可以使用以下内容查看所有类型和值。 如果要对输出进行更多控制,可以使用以下命令:

  • 我的查询对象是 但是 <代码>列表 将结果列表转换为classNameList。当我迭代单个值时,我的实体值在ClassName属性中为空。调用getter方法时不显示值。我的pojo看起来如下所示,当我打印pojo的值为空时,我的foreach正好迭代四次。 我的查询对象来自com.google.cloud.firestore包。和ApiFuture来自com.google.api.core.A