Java 8 和 11 开始提供的新特性面试

news/发布时间2024/5/18 23:09:30

说下 Lambda function

Lambda 是 JDK 8 以后的版本才提供的功能。

在 JDK 8 之前是没有的。

Java Lambda表达式 的一个重要用法是简化某些匿名内部类 (Anonymous Classes )的写法。实际上Lambda表达式并不仅仅是匿名内部类的语法糖,JVM内部是通过invokedynamic 指令来实现Lambda表达式的。

上面的解释是不是属于完全没有看明白的那种呀。

这样理解吧,对我们一般使用的方法来说,我们需要输入的变量,然后对输入的变量进行操作。

现在我们在输入的变量部分写成一个函数,让函数作为输入的参数来让方法进行计算。

如下面的代码,我们对 HashMap 进行遍历。

        employeeSalary.forEach((employee, salary) -> {System.out.println(employee + " => " + salary);});

至于实现来说,就相对复杂点,对目前使用的概念来说,能知道上面的内容就大致差不多了。

 

 

Optional 类

如果你写过一些 Java 代码的话,你应该知道 Java 中最常见的就是空指针异常错误。

这个错误的原因就是你对一个为空的对象进行操作了。

比如说,你有一个 List,但是这个 List 是空对象,如果你要向这个 List 中添加元素或者删除元素的话,你铁定会遇到空对象的异常。

Optional 类是一个可以为 NULL 的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。

这个问题在我们网站上已经有了很多的讨论了,如希望了解更多,请参考:Java 8 开始新增的 Optional 类

针对面试的回答,Optional 主要是尝试解决 Java 中遇到的过多的空对象异常问题。

在 Spring 的 JPA 的查询中,我们也会大量的使用 Optional 来进行返回。

 

 

上面的 JPA 查询就是使用的是 Optional。

 

https://www.isharkfly.com/t/java-8-11/14996

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/50507867.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

Java 消息策略的实现 - Kafak 是怎么设计的

这个也是开放讨论题,主要讨论下 Kafka 在消息中是如何进行实现的。总结 这个题目的开发性太强了。 Kafka 可以用的地方非常多,我经历过的项目有 Kafka 用在消息处理策略上的。这个主要是 IoT 项目,因为这个项目需要对温度传感器采集获得数据。 当我们有多个数据采集点的时候…

巨杉数据库入选2023信创企业排行榜

在信创数据库领域的丰富技术积累和领先的行业实践能力,入选2023信创数据库企业排行榜,这是对巨杉数据库在分布式数据库领域自研道路的充分肯定。 近期,由中科院旗下的互联网周刊、德本咨询和eNet研究院共同发布了《2023信创数据库企业排行榜》。在经过全面多维的严格评估后,…

Docker Desktop 界面功能介绍,添加国内镜像源

默认情况下,Docker Desktop会从Docker Hub下载镜像,但在国内由于网络的原因,下载速度可能较慢,配置国内镜像源可以提速镜像下载。在Docker Desktop中配置镜像源非常简单,点击1、2后,在3处粘贴如下内容,重启生效。 镜像源修改设置 默认情况下,Docker Desktop会从Docker…

第一次编程作业

第一次个人编程作业 github连接这个作业属于哪个课程 工程概论这个作业要求在哪里 作业的要求这个作业的目标 初步学会完整开发一个项目需求题目:论文查重 描述如下: 设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中…

Go每日一库之17:watermill

简介 在上一篇文章Go 每日一库之 message-bus中,我们介绍了一款小巧、实现简单的异步通信库。作为学习,message-bus确实不错。但是在实际使用上,message-bus的功能就有点捉襟见肘了。例如,message-bus将消息发送到订阅者管道之后就不管了,这样如果订阅者处理压力较大,会在…

javaweb运行tomcat时Jsp文件显示源码

今天在写javaweb项目的时候出现了运行一直不打开浏览器,如果手动打开浏览器的话,就会出现自己写的jsp文件中的所有源码,具体如图所示我的问题在Servlet中因为要告诉jsp文件servlet在哪里所以要在类名的上一行写上@WebServlet("/Servlet"),但是由于我的粗心写成了@…