![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java8+
Java尖子生
专功JVM、多线程、Java核心知识。
如果觉得有所收获的话,关注下我的公众号“Java尖子生”。
展开
-
Java8-Stream流操作List去重distinct、和指定字段去重(完整实例讲解)
使用Java8的Stream的distinct方法去重,我们的对象需要实现hashcode()和equals()方法。把学生类修改后如下:public class Student { private Long id; private String name; private int age; private Double height; public Student(Long id, String name, int age, Double height) {原创 2020-11-12 10:31:14 · 60148 阅读 · 7 评论 -
Java8-Stream流操作List排序(完整实例讲解)
废话少说,直接上代码。一个学生类的实体类ps:使用IDEA的同学,快捷键[Alt+Insert],可以一键生成对应的set/get/tostring/构造方法。public class Student { private Long id; private String name; private int age; private Double height; public Student(Long id, String name, int age, Dou原创 2020-11-12 10:24:20 · 3975 阅读 · 3 评论 -
Java8-默认方法和默认静态方法
目录前言1、什么是默认方法和静态默认方法2、为什么接口需要默认方法?3、默认方法冲突问题4、总结前言面试官:接口里面能有实现方法吗?库里:接口不可以有,但是抽象类有。面试官:确定嘛?那问个设计性的问题:假如有一个接口,有10个实现类,现在的需求可能要往接口加一个方法,这样就要改动10个实现类,但需求只需要改动其中两个实现类,要怎么设计呢?库里:emm…针对上面的问题,有2个方案: 再定义一个抽象类去实现这个接口,在抽象类中新增这个方法,然后其他两个实现类.原创 2020-10-18 10:33:32 · 628 阅读 · 0 评论 -
Java8方法引用,示例讲解
前言看过了Lambda表达式和函数式接口编程,再来看下方法引用。方法引用理解起来有点恶心,多花点时间,多写就好了。不过通过IDEA编辑器,会提示你用方法引用表达式来代替你写的代码【快捷键Alt+Enter】。如下图:如果是Lambda写法,左边会显示一个对应的Lambda符号,你可以选择用方法引用来代替Lambda表达式。1、四种不同方法的引用方法引用通过方法的名字来指向一个方法。 方法引用可以使语言的构造更紧凑简洁,减少冗余代码。 方法引用使用一对冒号 :: 。下面,我们.原创 2020-10-17 11:51:11 · 602 阅读 · 4 评论 -
Java8 Lambda表达式 和 函数式编程 原理详解
前言 1、前言 Java8既JDK1.8。Lambda表达式是Java8的新特性,除此之外Java8还提供了其他新特性,比如:函数式编程、方法引用、Stream、Optional类、默认方法、新的日期类型、Base64、Nashorn, JavaScript 引擎。 本篇详细介绍Lambda表达式,其他的后续慢慢介绍。 它是一个语法糖,糖是甜的,但是对于初学者并不是,当你熟悉之后,你会发现,它是真的香。 Lambda表达式的初衷是,进一步简化匿名类的语法(不过实现上,Lambda表达原创 2020-10-16 17:05:58 · 2298 阅读 · 0 评论