【发布时间】:2019-05-21 23:43:40
【问题描述】:
有什么方法可以让我将下面的表达式计算为常量表达式?如果有帮助,我正在使用 Java 11。
String.format("hello %1$s","world");
【问题讨论】:
-
你的意思是你想让字符串“hello world”被当作一个常量对待吗?它不是一个常数,它在运行时被插值。
-
@DaveNewton 我想在编译时实现这个功能(并且不绑定到 String.format api)。我知道实现这一点的一种方法是 String x = "world";字符串 y = "你好" + x; ...这里 y 是一个常数,尽管它使用了一个变量。我不想使用这种方法,因为我有很多变量要替换并且希望有不同的解决方案。
-
你要解决的终极问题是什么?
-
目前没有,但请参阅openjdk.java.net/jeps/348 了解这方面的潜在改进。
标签: java string.format