Java新特性
蔚然~成风
这个作者很懒,什么都没留下…
展开
-
Stream流、方法引用
Stream流说到Stream便容易想到I/O Stream,而实际上,谁规定“流”就一定是“IO流”呢?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。Stream遍历集合public class DemoStream { public static void main(String[] args) { //创建一个List集合,存储姓名 List<String> list原创 2020-11-04 12:44:26 · 194 阅读 · 0 评论 -
常用函数式接口
Supplier接口java.util.function.Supplier<T> 接口仅包含一个无参的方法: T get() 。用来获取一个泛型参数指定类型的对象数据。由于这是一个函数式接口,这也就意味着对应的Lambda表达式需要“对外提供”一个符合泛型类型的对象数据。import java.util.function.Supplier;public class DemoSupplier { private static String getString(Supplier<Str原创 2020-11-03 22:21:37 · 82 阅读 · 0 评论 -
函数式接口
函数式接口概念函数式接口在Java中是指:有且仅有一个抽象方法的接口。函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可 以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。备注:“语法糖”是指使用更加方便,但是原理不变的代码语法。例如在遍历集合时使用的for-each语法,其实 底层的实现原理仍然是迭代器,这便是“语法糖”。从应用层面来讲,Java中的Lambda可以被当做是匿名原创 2020-11-02 23:50:19 · 4110 阅读 · 0 评论 -
Lambda表达式
冗余的Runnable代码传统写法当需要启动一个线程去完成任务时,通常会通过java.lang.Runnable接口来定义任务内容,并使用java.lang.Thread类来启动该线程。代码如下:public class Demo01Runnable { public static void main(String[] args) { // 匿名内部类 Runnable task = new Runnable() { @Override public void run()原创 2020-10-25 22:46:00 · 76 阅读 · 0 评论