JAVA8实战 -- Lamdba表达式

JAVA8实战


前言

一直在使用JAVA8,但是没有系统的学习过JAVA8,也是一知半解,入手JAVA8实战,系统的了解和学习JAVA8的内容。
书籍:《JAVA8实战》
视频:https://www.bilibili.com/video/BV1VW41127sh?spm_id_from=333.337.search-card.all.click&vd_source=fce799ae483f16799f55fcb9708668ff

一、JAVA8的核心和优势是什么

(1)多核处理大型数据集
(2)函数式编程更适应新的体系架构
因此,核心特性为:Lambda、流、默认方法

二、Lambda表达式

1.函数式编程 – 将代码传递给方法(将方法作为参数传递给另外一个代码)

下面的代码是获取当前目录隐藏文件和目录的方法,可以看到JAVA8的实现,(1)代码量少,(2)内存少(不再使用内部类,占用内存会变少)

        File[] hiddenFiles = new File("./").listFiles(new FileFilter() {
   
            @Override
            public boolean accept(File pathname) {
   
                return pathname.isHidden();
            }
        });
        
        File[] hiddenFilesJav8 = new File("./").listFiles(File::isHidden);

JAVA8引入了::语法,即把这个值作为函数,那么将方法传递给方法又是如何做到的呢?肯定是有一个东东是可以接收方法的,JAVA8使用Predictate和Function实现,例如下面的代码,其中Predicate就是谓词方式,即给定一个T,返回一个boolean值,true或者false,JAVA8也会允许你写Function<T,E>的形式,即给定一个T,返回一个E。

package com.example.demo.guava;


import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Administrator
 * @since 2022/9/6 22:39
 */
@Data
class Apple {
   
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值