Java中是否有等效于C#美元($)运算符的字符串插值方式?
Java中的字符串插值方案
Java有多种替代传统+字符串拼接的插值方式,效果类似C#的$运算符,以下是常用方案:
- Java 21及以上:字符串模板(正式特性)
这是最接近C#字符串插值的原生方案,使用内置的STR模板处理器,语法简洁直观:
String aVariable = "example"; String interpolated = STR."Some Text here with \{aVariable}";
占位符格式为\{变量名},若需要输出}本身,可使用}}转义。
Java 15-20:字符串模板(预览特性)
该特性在Java 15至20中处于预览阶段,语法与Java 21一致,但编译和运行时需添加--enable-preview参数才能启用。全版本通用:String.format()
适配所有Java版本,通过格式化占位符实现插值,支持多种数据类型的格式化处理:
String aVariable = "example"; String interpolated = String.format("Some Text here with %s", aVariable);
常用占位符包括%s(字符串)、%d(整数)、%f(浮点数)等,多变量场景下比+拼接更易维护。
- MessageFormat类
适合多变量或本地化场景,通过索引占位符定位变量,可灵活调整变量顺序:
String aVariable = "example"; String interpolated = MessageFormat.format("Some Text here with {0}", aVariable);
内容的提问来源于stack exchange,提问作者SocialHermit
相关产品推荐
相关产品推荐

