前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 8 和 11 开始提供的新特性面试

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

原创
作者头像
HoneyMoose
发布2023-09-21 04:12:44
1640
发布2023-09-21 04:12:44
举报
文章被收录于专栏:CWIKIUS

说下 Lambda function

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

在 JDK 8 之前是没有的。

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

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

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

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

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

代码语言:javascript
复制
        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
2023-09-20_13-14-00

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说下 Lambda function
  • Optional 类
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档