Lamda表达式

//EventRuleRelation:实体类,描述事件与规则的关系
//rule:规则
//Event:事件
List<EventRuleRelation> relationList = eventRuleRelationDao.queryByEventId(eventId);
List<Long> ruleIdList = relationList.stream()
                                    .map(EventRuleRelation::getRuleId)
                                    .collect(Collectors.toList());

 第二句代码运用stream、Lamda表达式获取了每个EventRuleRelation的ruleId并生成了一个List,这样的写法非常优雅,避免使用庞大的循环for语句。

Java8的流的终结操作分为三步:创建流、转换流、聚合。第二句的核心骨干即这个步骤。

Method References
You use lambda expressions to create anonymous methods. Sometimes, however, a lambda expression does nothing but call an existing method. In those cases, it’s often clearer to refer to the existing method by name. Method references enable you to do this; they are compact, easy-to-read lambda expressions for methods that already have a name.
关于方法引用的描述,摘自oracle官网

您使用lambda表达式创建匿名方法。 但是,有时lambda表达式除了调用现有方法外什么也不做。 在这种情况下,通常更容易按名称引用现有方法。 方法引用使您可以执行此操作; 它们是紧凑,易于阅读的lambda表达式,用于已经具有名称的方法。

 

Java8中我们可以通过“::”来访问类的构造方法、对象方法、静态方法。

最后一句代码即利用流将数据收入进一个List。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值