谈谈JAVA中Lambda表达式的使用

本文从一个面试题引入,展示了如何使用Lambda表达式简洁地将int[]转化为Integer[]。接着,介绍了Lambda表达式的基本概念,它是Java 8中的新特性,用于简化功能接口实例的创建。文章还详细讲解了方法引用和构造器引用,包括引用类方法、引用特定对象的实例方法、引用某类对象的实例方法以及引用构造器,以实现更优雅的代码编写。
摘要由CSDN通过智能技术生成

一、引例
笔者前段时间看到一道阿里的面试题,题目如下:用代码将int[]转化为Integer[]。我想大部分入门级的小伙伴首先想到的解决办法是new一个Integer[]然后遍历int[]将值塞入Integer[]中实现转换。代码如下:
在这里插入图片描述
这种方法也无可厚非,总归是实现了这样的转换。 但是如果你在面试中写出了如上的代码,那么可能程序还没执行完,你的面试也就over了。事实证明,我们一直在被不断更新的技术持续吊打,but有句话叫做“那些干不死我的,终将会使我变得更加强大”,废话不多说,直接上码如下:
在这里插入图片描述
是不是很神奇,我居然用一行代码就搞定了。上面的代码片段是使用Lambda表达式改写后的代码,简洁之美简直无以言表。那么具体Lambda是如何代替上面for循环中那么一长串代码的呢?它的机制是什么?别急,听我娓娓道来!

二、什么是Lambda表达式
Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口,允许使用更简洁的代码来创建只有一个抽象方法的接口的实例。笔者认为,这就是一种创建匿名实例的语法,这类语法要比匿名内部类创建实例时还要简洁。
Lambda 表达式的目标类型必须是"函数式接口( functional interface ) 。函

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值