您的位置 首页 java

java8常用新特性

java8常用新特性

问题背景

java 8的相关新特性,比如 lambda表达式 、函数式接口、方法引用、 Stream API等

对于日常开发来说提供了很多遍历性,现对常用的几个加以梳理总结,抛转引玉。

一、Lambda表达式

Lambda表达式:特殊的匿名内部类,语法更简洁。

Lambda引入了新的操作符:->(箭头操作符),->将表达式分成两部分:

左侧:(参数1,参数2…)表示参数列表。

右侧:{}内部是方法体

语法格式一:

lambda 无参,无返回值

“`

// 线程 //匿名实现类对象—以前的写法

// Runnable runnable=new Runnable() {

// @Override

// public void run() {

// System.out.println(“hello world!”);

// }

// };

//lambda表达式写法

Runnable runnable1= ()->System.out.println(“hello world!”);

“`

语法格式二:

lambda 有一个参,无返回值

“`

// 原来的写法

Consumer<String> con = new Consumer<String>() {

@Override

public void accept(String s){

System.out.println(s);

}

};

con.accept(“hello world!”);

System.out.println(“*********************”);

//Lambda表达式

Consumer<String> con1 = (String str)-> System.out.println(str);

con1.accept(“hello world”);

“`

二、函数式接口

如果一个接口只有一个抽象方法,则该接口称之为函数式接口,函数式接口可以使用Lambda表达式,Lambda表达式会被匹配到这个抽象方法上。

“`

// 原来的写法

USB usb = new USB() {

@Override

public void show() {

System.out.println(“我是函数式接口”);

}

};

// 使用Lambda表达式

USB usb1=()-> System.out.println(“你好”);

info(()-> System.out.println(“你好嘿嘿嘿”));

public static void info(USB usb){

usb.show();

}

//函数式接口

interface USB{

public void show();

}

“`

三、方法引用

方法引用式Lambda表达式的一种简写形式。如果Lambda表达式方法体中只是调用一个特定的已经存在的方法,则可以使用方法引用。

构造器 引用举例:

“`

//普通写法

Supplier<Emp> supplier=new Supplier<Emp>() {

@Override

public Emp get() {

return new Emp(“刘德华”);

}

};

//类名::new 方法引用

Supplier<Emp> supplier=Emp::new; //必须该类中存在无参构造函数。

System.out.println(supplier.get());

“`

四、Stream API

流(Stream)中保存对集合或数组数据的操作。和集合类似,但集合中保存的是数据。

特点:

Stream自己不会存储元素。

Stream不会改变源对象。相反,他们会返回一个持有结果的新Stream。

Stream操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。

中间操作:

filter、limit、skip、distinct、sorted

map

parallel

举例:

personList.stream().filter((person) -> person.getAge()>21).forEach(System.out::println);

System.out.println(“———————-“);

总结

以上是对java 8的几个常用的特性进行的简单的梳理,抛转引玉,各位有空可以深入了解下。

文章来源:智云一二三科技

文章标题:java8常用新特性

文章地址:https://www.zhihuclub.com/198982.shtml

关于作者: 智云科技

热门文章

网站地图