体验JDK21新特性:字符串模版
体验JDK21新特性:字符串模版
介绍
字符串模版是JDK21的新特性,详细内容可参考JEP430 https://openjdk.org/jeps/430
字符串模版类似Python的fstring
a=1
b=2
s=f'{a} + {b} = {a+b}'
相比于用+
号或者StringBuilder
拼接字符串,字符串模板更为简洁
配置JDK21环境
JDK21还没有正式发布,可以在openjdk的官网获取
https://jdk.java.net/21/
下载完毕后修改JAVA_HOME
,PATH
,将JDK21添加到环境变量中
体验字符串模版
创建Main.java
文件,添加如下内容
import static java.lang.StringTemplate.STR;
public class Main {
public static void main(String[] args) {
String name = "JDK21";
String message = STR."Hello \{name}!";
System.out.println(message);
}
}
使用如下命令运行
javac --enable-preview --source 21 -Xlint:preview Main.java
java --enable-preview Main
运行结果如下
Main.java:6: 警告: [preview] 字符串模板 是预览功能,可能会在未来发行版中删除。
String message = STR."Hello \{name}!";
^
Main.java:6: 警告: [preview] 字符串模板 是预览功能,可能会在未来发行版中删除。
String message = STR."Hello \{name}!";
^
Main.java:1: 警告: [preview] StringTemplate 是预览 API,可能会在未来发行版中删除。
import static java.lang.StringTemplate.STR;
^
3 个警告
Hello JDK21!
查看编译后class文件,可以发现Java中的字符串模版本质上是用+
拼接字符串的语法糖
public class Main {
public Main() {
}
public static void main(String[] var0) {
String var1 = "JDK21";
String var2 = "Hello " + var1 + "!";
System.out.println(var2);
}
}
在IDEA里运行
项目结构
在运行配置中添加虚拟机参数
--enable-preview

运行配置
在设置中的Java Compile里的编译参数中添加
--enable-preview

编译参数
完成设置后便可正常在IDEA中体验新特性
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)