18,jdk新特性
Posted 孫sun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了18,jdk新特性相关的知识,希望对你有一定的参考价值。
jdk 8.0
Lambda
package java4; import org.junit.Test; import java.util.Comparator; import java.util.function.Consumer; /* Lambda 表达式的使用 1.举例:(o1,o2) -> Integer.compare(o1,o2); 2.格式: -> : lambda 操作符 或 箭头操作符 箭头左边:lambda的形参列表(接口中的抽象方法的形参列表) 箭头右边:lambda体 (重写抽象方法的方法体) 3.lambda的表达式的使用:(六种情况) 4.lambda的本质:作为函数式接口的实例 5.如果一个接口中,只申明了一个抽象方法,则此接口就称为函数式接口 java内置的4大核心函数式接口 消费型接口 :Consumer 供给型接口:Supplier 函数型接口:Function 断定型接口:Predicate */ public class LambdaTest1 { @Test public void test(){ //语法格式一:无参、无返回值 Runnable r1 = new Runnable(){ @Override public void run() { System.out.println("上海"); } }; r1.run(); System.out.println("lambda的写法"); Runnable r2 = () -> System.out.println("北京"); r2.run(); } @Test public void test2(){ //语法格式二:lambda 需要一个参数,但是没有返回值 Consumer<String> con = new Consumer<String>(){ @Override public void accept(String s) { System.out.println(s); } }; con.accept("上海"); //lambda表达式的写法 Consumer<String> con1 = (String s) -> {System.out.println(s);}; con1.accept("魔都"); } @Test public void test3(){ //语法格式三:数据类型可以胜率,因为可有编译器推断得出,称为类型推断 Consumer<String> con1 = (s) -> {System.out.println(s);}; con1.accept("魔都"); } @Test public void test4(){ //语法格式四:lambda 若只需要一个参数时,参数小括号可以省略 Consumer<String> con1 = s -> {System.out.println(s);}; con1.accept("魔都"); } @Test public void test5(){ //语法格五:lambda 若需要两个及以上参数时,多条执行语句,并可以有返回值 Comparator<Integer> com1 = new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { System.out.println(o1); return o1.compareTo(o2); } }; System.out.println(com1.compare(12,21)); //lambda的方式 Comparator<Integer> com2 = (o1,o2) -> { System.out.println(o1); return o1.compareTo(o2); }; System.out.println(com2.compare(21,11)); } @Test public void test6(){ //语法格式六:lambda 只需要一条语句时, return 和 {} 可以省略 Comparator<Integer> com2 = (o1,o2) -> o1.compareTo(o2); System.out.println(com2.compare(21,11)); } }
以上是关于18,jdk新特性的主要内容,如果未能解决你的问题,请参考以下文章
译ECMAScript 2016, 2017, 2018 新特性之必读篇
JDK19都出来了~是时候梳理清楚JDK的各个版本的特性了JDK18特性讲解