体验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里运行

首先在项目结构里修改Language level为X
项目结构

项目结构

在运行配置中添加虚拟机参数--enable-preview
运行配置
运行配置

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

完成设置后便可正常在IDEA中体验新特性

posted @   BrevinZhang  阅读(2011)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示