请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Lambda 表达式

public enum ProductLine {
DAMAO(“大猫”, 1),
DABAO(“大宝”, 2);
private String description;
private Integer code;
public static ProductLine of(Integer code) {
Objects.requireNonNull(code);
return Stream.of(***values()***).filter(***bean -> bean.code.equals(code)***)
.findAny()
.orElseThrow(() -> new IllegalArgumentException(code + " not exists! "));
}
}
第二个表达式可以理解为需要一个异常对象就传递了个创建对象的过程
第一个Lambda 表达式没有看懂,为什么能用bean来代替枚举类例的枚举?这个values()也不大能理解这个写法.
Stream.of()是利用泛型直接返回一个枚举对象吗?

正在回答 回答被采纳积分+3

1回答

张勤一 2020-07-20 11:09:10

同学你好:

    Lambada 表达式是 Java8 中引入的,不太理解的情况下可以阅读下 《Java8 实战》,或者看看相关的博客文章。

    第二个表达式的含义是:创建一个 Exception 对象;

    第一个表达式的含义是构造一个 Stream 流。values 这是枚举类的接口,获取的是这个枚举类所有的枚举数组。


    欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号