文章列表

共有 447 篇文章

Java中如何快捷的创建不可变集合

在Java 9中又新增了一些API来帮助便捷的创建不可变集合,以减少代码复杂度。 本期配套视频:Java 9 新特性:快速定义不可变集合https://www.bilibili.com/video/BV1HY411F744/ 常规写法 以往我们创建一些不可变集合的时候,通常是这样写的: java // 不可变的Set Set set = new HashSet<>; set.add"a";...

Spring Boot 3.0.0 M3、2.7.0发布,2.5.x将停止维护

昨晚(5月19日),Spring Boot官方发布了一系列Spring Boot的版本更新,其中包括: - Spring Boot 3.0.0-M3 - Spring Boot 2.7.0 - Spring Boot 2.6.8 - Spring Boot 2.5.14 Spring Boot 3.0.0-M3 此版本包括74个bug修复、文档改进和依赖项升级,其中值得注意的新功能包括: -...

IntelliJ IDEA中如何优雅的调试Java Stream操作

什么是Stream操作 Stream操作是Java 8推出的一大亮点,它与java.io包里的InputStream和OutputStream是完全不同的概念。Java 8中的Stream是对容器对象功能的增强,它专注于对容器对象进行各种非常便利、高效的 聚合操作(aggregate operation),或者大批量数据操作 bulk data operation。Stream...

详解Java的交互式编程环境:jshell

什么是交互式编程环境?重点词交互,在这样的编程环境中,你每输入一行代码,环境都会给你一个反馈,这就是交互式的编程环境。这种编程环境并不太适合工程化的复杂性需求,但在一些快速验证、简单计算之类的场景下还是非常好用的。其实交互式编程环境在其他高级语言中很早就有了,而Java直到Java 9才正式推出了这样的工具。 下面就来一起学习下,这个Java中的交互式编程环境JShell。 JShell快速入门...

Java 16 新特性:record类

以前我们定义类都是用class关键词,但从Java 16开始,我们将多一个关键词record,它也可以用来定义类。record关键词的引入,主要是为了提供一种更为简洁、紧凑的final类的定义方式。 下面就来具体了解record类的细节。 声明record类 声明record类的基础语法: java record rangeint start, int end{}...

一个神器的项目:让 Python 在 HTML 中运行

大家好,我是DD,已经是封闭在家的第51天了! 最近一直在更新Java新特性(https://www.didispace.com/java-features/)和IDEA Tips(https://www.didispace.com/idea-tips/)两个原创专栏,其他方向内容的动态关注少了。昨天天晚上刷推的时候,瞄到了这个神奇的东西,觉得挺cool的,拿出来分享下:...

Java 15 新特性:隐藏类

隐藏类,是一种不能被其他类直接使用的类。引入隐藏类的主要目的是给框架来使用,使得框架可以在运行时生成类,并通过反射间接使用它们。可能有点抽象,不要紧,下面我们通过一个例子来直观的认识它! 隐藏类案例 第一步:先创建一个普通的Java类 java public class JEP371HiddenClasses { public static String hello { return...

Java 14 新特性:switch表达式增强

面对这样的if语句,你是不是很难受呢? java if flag == 1 { log.info"didispace.com: 1"; } else if flag == 2 { log.info"didispace.com: 2"; } else if flag == 3 { log.info"didispace.com: 3"; } else if flag == 4 {...

Java 17 新特性:switch的模式匹配(Preview)

还记得Java 16中的instanceof增强http://www.didispace.com/java-features/java16/jep394-pattern-matching-for-instanceof.html吗? 通过下面这个例子再回忆一下: java Map data = new HashMap<>; data.put"key1", "aaa";...

Java 17 新特性:密封类

Java 17推出的新特性Sealed Classes经历了2个Preview版本(JDK 15中的JEP 360、JDK 16中的JEP 397),最终定稿于JDK 17中的JEP 409。Sealed Classes有两种主流翻译:密封类、封闭类。个人喜欢前者多一些,所以在本文中都称为密封类。其实Sealed Classes的其他许多语言中并不是什么新鲜事物,C、Scala等高级语言中都有类似...

20 页, 共 45 页, 总计 447 篇文章