/**
* Predicate<T>
* method : test(T t)
* 判断,返回boolean
*/
public static void testPredicate(){
Predicate<BigDecimal> predicate = x -> x.compareTo(BigDecimal.ZERO) > 0;
Predicate<BigDecimal> predicate2 = x -> x.compareTo(BigDecimal.TEN) <= 0;
System.out.println(predicate.test(new BigDecimal(-1)));
System.out.println(predicate.and(predicate2).test(new BigDecimal(10)));
}
/**
* Consumer<T>
* method : accept(T t)
* 消费一条消息,无返回值
*/
public static void testConsumer(){
Consumer<List<Student>> consumer = x -> {
for (Student student : x) {
student.setScore(student.getScore() * 100);
}
};
List<Student> list = new ArrayList<>(2);
list.add(new Student(0.3));
list.add(new Student(0.5));
for (Student student : list) {
System.out.println(student.getScore());
}
consumer.accept(list);
for (Student student : list) {
System.out.println(student.getScore());
}
}
/**
* Function
* method : R apply(T t)
* 讲 T 转换成 R
*/
public static void testFunction(){
Function<Student,Double> function = x -> x.getScore();
Student s = new Student(89d);
System.out.println(s);
System.out.println(function.apply(s));
}
/**
* 生产一条消息
*/
public static void testSupplier(){
Supplier<String> supplier = () -> "supplier return";
System.out.println(supplier.get());
}
lambda表达式
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 看过我第一篇文章Lambda表达式学习(一)为什么使用Lambda表达式?的同学应该知道在使用Lambda表达式的...
- 目录 1、复合Lambda表达式的有用方法 1)比较器复合 2)谓词复合 3)函数复合 2、小结 1、复合Lamb...
- 最近由于项目需要,刚刚学完了Action委托和Func<T>委托,发现学完了委托就必须学习lambda表达式,委托...
- 在idea中新建了一个java8的项目,但是写lambda表达式提示语法错误,提示如下错误信息: 解决方法是: 第...
- java8已经出来很久了,一直没去学习Java的新特性,感觉out了,偶然看见了,感觉用法还是挺简单的,也挺有趣,...