开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
CWIKIUS.CN
一个有独立思考和温度的清新站
  1. Home
  2. Computer Science
  3. This article

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

2023年09月21日 633Browse 0Like 0Comments

说下 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 来进行返回。

 

2023-09-20_13-14-00

 

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

 

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

Tags: None
Last updated:2023年09月21日

HoneyMoose

有温度的人文和独立的思考

Like
< Previous
Next >

Comments

Cancel reply

Archives
  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,367)
    • Confluence (663)
    • Gradle (12)
  • U.S. (512)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1