
java8
长江水面写日记
这个作者很懒,什么都没留下…
展开
-
java8函数式接口&方法引用在实际项目中的应用
发现从20年开始,博客上出现了大量普及java stream流使用方法的文章.对于java8的函数式接口及方法引用,只是介绍了其基本的使用方式,没有讲怎么用在项目上. 基于我对函数式接口在项目上的使用经验,我觉得函数式接口有两大作用. 1.使代码有逻辑上的分层. 比如一些操作逻辑应该写在service层,而不是manger层,就可以用函数式接口,将逻辑写在service层,而真正实际上是在manger层进行执行的.这样的结构,逻辑边界更加清晰,明确了每个层级...原创 2021-06-22 11:11:06 · 1113 阅读 · 1 评论 -
java8时间api:LocalDateTime
有这样一个需求,通过给定的秒级时间戳,来算出n天后的时间戳,或者是字符串 java8之前的时间api存在闰秒问题,所以如果要获取到准确的时间戳,最好用java8api,不要用当前时间戳加上每天的秒数来算. private String getDelayDaysString(Long stratTime, Integer n) { LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochSecond(strat.原创 2020-05-22 11:08:26 · 222 阅读 · 0 评论 -
java8 api体验1:Comparator,Predicate
public class Java8Tesmt2 { public static void main(String[] args) { // 例1:比较器 // comparing的传参为一个函数接口Function,其有个抽象方法apply,方法返回要比较的值 // Integer a: 是入参,->: 把入参与Lambda...原创 2019-09-24 17:02:54 · 592 阅读 · 0 评论 -
java8 api体验2:集合转数组
public class Java8Tesmt3 { public static void main(String[] args) { // String集合转String数组 // 将数组转换List后,不能对List增删,只能查改,否则抛出 UnsupportedOperationException异常 List<Strin...原创 2019-09-24 17:37:33 · 479 阅读 · 0 评论 -
java8 api3:高阶函数
高阶函数就是其参数是个函数或者返回值是个函数,我觉得高阶函数也是java实现函数科里化的一个技巧 此次举例的是入参是个函数返回值同样是个函数. 比如我要实现,对一个数求乘法,然后再求以这个数以10为底的对数. 实际上先求乘法是一个函数,然后再求对数是另一个函数 所以我可以定义一个高阶函数,它的入参是实现了乘法的函数,它的返回值是实现了求对数的函数, 即higherFunction. 下...原创 2019-10-08 10:50:39 · 156 阅读 · 0 评论