
java 8
Dongguabai
这个作者很懒,什么都没留下…
展开
-
Java 8 对 List 常用排序器
按double进行排序list.sort(Comparator.comparingDouble(bo->bo.getDriverGpsBO().getDistance()));distance字段为double类型按字母排序字符串列表list.sort(String.CASE_INSENSITIVE_ORDER) 忽略大小写对list按首字母对字符串进行排序list.sort...转载 2019-12-26 21:57:51 · 380 阅读 · 0 评论 -
Stream(一)入门实战
像 Stream 这种 Fluent API,虽然不好调试,但是用着爽啊,我找了下我写的最长的应该就是这个了(希望以后有机会能写出更长的):List<String> list = Stream.of(rsheet.getColumn(2)).skip(2).map(cell -> StringUtils.trim(cell.getContents())).collect(C...原创 2019-10-16 09:14:41 · 1057 阅读 · 0 评论 -
CompletableFuture实战
Future 模式是一种非常有用的设计思想。之前的两篇文章分别介绍了 Java 中 Future 模式实现的改进版 CompletionService (Future 模式(一)- Java 并发编程之 CompletionService)和如何实现自己的两种 Future 模式(Future 模式(二))。在 Java 8 中提供了一个更牛逼的 Future 模式实现:CompletableFu...原创 2019-09-22 08:46:47 · 928 阅读 · 0 评论 -
在Java8的foreach()中使用return/break/continue
今天使用lambda表达式处理集合时,发现对return、break以及continue的使用有点迷惑,于是自己动手测试了一下,才发现在使用foreach()处理集合时不能使用break和continue这两个方法,也就是说不能按照普通的for循环遍历集合时那样根据条件来中止遍历,而如果要实现在普通for循环中的效果时,可以使用return来达到,也就是说如果你在一个方法的lambda表达式中使用...转载 2019-08-15 21:07:03 · 352 阅读 · 0 评论 -
java8 对象转 Map 时重复 key Duplicate key xxxx
我们在利用java8 Lambda 表达式将集合中对象的属性转成Map时就会出现Duplicate key xxxx , 说白了也就是key 重复了!案例如下:@Getter@Setter@AllArgsConstructorpublic class Student{private String className;private String student...转载 2019-08-04 00:24:21 · 18400 阅读 · 1 评论 -
Java 8 default
其实这个主要是为了解决接口升级造成的不兼容的情况。比如原来的接口 A 就这么几个方法,但是我现在要在 A 上再新增一个方法,那么之前所有 A 的实现类全部都要更改。特别是在 Java 8 中增加了比如 Stream 这样的方法。Java 8 中 Collection 增加了这个方法: default Stream<E> stream() { return St...原创 2019-04-03 16:36:27 · 270 阅读 · 0 评论 -
Java8新特性Stream - 创建
创建Stream1.通过Collection系列集合提供的stream()或parallelStream()方法2.通过Arrays的静态方法这个静态方法有很多重载方法:3.通过Stream类的静态方法of()这个of()方法也有重载方法:4.创建无限流迭代先看看Stream的iterate方法:第二个参数为UnaryOperator接口...原创 2018-07-19 10:42:18 · 323 阅读 · 0 评论 -
Java8方法引用和构造器引用
方法引用方法引用的意思就是若Lambda体中的内容有方法已经实现了,我们可以使用“方法引用”,可以简单理解为是Lambda表达式的另外一种表现形式。主要有以下三种用法:对象::实例方法名定义一个函数式接口:原来在Lambda表达式中是这么使用的:这里有个前提:函数式接口的抽象方法参数列表和返回值要与Lambda体中的方法的参数列表和返回值要一致。这个方法,在La...原创 2018-07-09 23:45:52 · 454 阅读 · 0 评论 -
Lambda表达式在Java8中的应用
学习Lambda表达式要先理解什么是函数式接口,可以参看我转载的这篇博客:https://blog.youkuaiyun.com/Dongguabai/article/details/80841729 “->”是Lambda表达式的操作符,操作符的左侧是表达式的参数列表,右侧是需要执行的功能,即Lambda体。格式一:无参数,无返回值以Runnable接口为例:执行:...原创 2018-06-28 15:07:05 · 392 阅读 · 0 评论 -
必看:深入学习Java8中的函数式接口
转自:http://www.sohu.com/a/123958799_465959 目前由于系统已经全面切换为JDK8,所以有必要系统的了解一下Java8的一些新特性,以便后续在日常工作中可以使用一些高级特性来提高编程效率。因为Java8引入了函数式接口,在java.util.function包含了几大类函数式接口声明。这里第一篇主要研究一下Function相关的接口。Fun...转载 2018-06-28 13:32:06 · 319 阅读 · 0 评论