Den*_*lot 7 java java-14 java-text-blocks
如何将变量放入java文本块中?
喜欢
"""
{
...
"someKey": "someValue",
"date": "${LocalDate.now()}",
...
}
"""
Run Code Online (Sandbox Code Playgroud)
Dea*_*ool 10
您可以%s在文本块中用作占位符
String str = """
{
...
"someKey": "someValue",
"date": %s,
...
}
"""
Run Code Online (Sandbox Code Playgroud)
并使用格式替换它
String.format(str,LocalDate.now());
Run Code Online (Sandbox Code Playgroud)
更简洁的替代方法是使用 String::replace 或 String::format,如下所示:
String code = """
public void print($type o) {
System.out.println(Objects.toString(o));
}
""".replace("$type", type);
String code = String.format("""
public void print(%s o) {
System.out.println(Objects.toString(o));
}
""", type);
Run Code Online (Sandbox Code Playgroud)
另一种选择涉及引入新的实例方法 String::formatted,可以按如下方式使用:
String source = """
public void print(%s object) {
System.out.println(Objects.toString(object));
}
""".formatted(type);
Run Code Online (Sandbox Code Playgroud)
注意:但作为java-13文档的旁注,String.formatted?已弃用并建议使用String.format(this, args)。
此方法与文本块(预览语言功能)相关联。文本块和/或此方法可能会在未来版本中更改或删除。
| 归档时间: |
|
| 查看次数: |
2194 次 |
| 最近记录: |