abh*_*tia 5 java string.format
有什么方法可以让下面的表达式作为常量表达式进行计算?如果有帮助的话,我正在使用 Java 11。
String.format("hello %1$s","world");
tkr*_*use 5
不,编译器不能将其视为编译时常量表达式(另请参阅此问题)。
为了说明这一点:使用字节码操作,可以修改 String.format() 的行为,例如使用 PowerMock 和类似库进行单元测试时可能发生的情况。在这种情况下String.format("hello %1$s","world"),可能会返回“hello world”之外的其他内容。
String.format("hello %1$s","world")
注意:我假设您的意思是“编译时常量表达式”。(否则你可以只定义一个变量final foo = String.format(...),变量 foo 在下面的代码中将是一个常量)。但是这样的常量不能用作注释值。
final foo = String.format(...)
归档时间:
6 年,5 月 前
查看次数:
4030 次
最近记录: