Java 17中对switch的模式匹配增强

Java40

通过下面这个例子再回忆一下:

Map data = new HashMap<>();
data.put("key1", "aaa");
data.put("key2", 111);
if (data.get("key1") instanceof String s) {
  log.info(s);
}

上面这个场景里,Map中的Value值存在不同的类型,所以使用 instanceof来判断取出的value是什么类型,然后根据不同类型来进行处理。那么,接下来继续思考一个问题,如果这个Map中的Value可能有这几种类型:String、Integer、Double,我们需要对不同类型分别做不同的处理,是不是处理结构要这样写:

```java
if (data.get("key") instanceof String s) {
log.info(s);
} else if (data.get("key") instanceof Double s) {
log.info(s);
} else if (data.get("key") instanceof Integer s) {
log.info(s);

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Java

JAVAEE学习路线分享

今天把我的教学经验分享给大家。适合大多数人的学习路线。注:目前作者已经转行做java培训。 首先是培养兴趣。先开始学习HTML知识。也就是做网页,从这里开始比较简单,就是几个标签单词需要记住。 接着开...
Java

哈夫曼树的构建与最小带权路径长度

注意:哈夫曼树并不唯一,但带权路径长度一定是相同的。 二叉树:每个结点最多含有两个子树的树称为二叉树。 定理:对于具有n个叶子结点的哈夫曼树,共有2n-1个结点。 哈夫曼树介绍 1哈夫曼树的定义 哈夫...
Java

【硬核】Dubbo常见面试题

Dubbo 整体介绍的差不多了,今天就开始面试环节了,我会列举一些常见的 Dubbo 面试题,只会抓着重的,一些太简单的我就不提了。 它不仅会给你面试问题的答案,而且会分析面试官问这个问题的原因,即他...
Java

RabbitMQ 工作队列

每日一句 如果你执意追逐我的幻影,迟早会被真正的我打败。 https://www.ylcoder.top/post/1649241412 概述 工作队列(也称为任务队列)的主要思想是避免立即执行资源密...
Java

docker安装redis

拉取镜像 默认拉取最新 docker pull redis 设置配置文件 bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问 protected-mode no #默认yes...
Java

RabitMQ 简介

The secret of being miserable is to have leisure to bother about whether you are happy or not. 痛苦的秘密...
Java

Halo 开源项目学习(四):发布文章与页面

基本介绍 博客最基本的功能就是让作者能够自由发布自己的文章,分享自己观点,记录学习的过程。Halo 为用户提供了发布文章和展示自定义页面的功能,下面我们分析一下这些功能的实现过程。 管理员发布文章 H...
Java

security学习笔记

spring security 入门案例 创建springboot工程 引入依赖 org.springframework.boot spring-boot-starter-security 2.创建c...
Java

Windows高效开发环境配置(一)

更多精彩内容,欢迎关注公众号:逻魔代码 前言 用了多年的 MacOS 做开发,一系列诸如 Alfred、Item2、Oh-my-zsh 之类的工具,大大地提升了工作的效率和使用舒适度。新工作不给配 M...
Java

程序员的职业素养

一、专业主义 专业主义不但象征着荣誉和骄傲,而且明确意味着责任和义务,其精髓在于将公司利益视同个人利益,即担当责任。如不能为了交付时效而忽略测试环节,要为不完美承担责任(失误率永远不可能是零,但你有责...