您可以使用String.intern()获得所需的效果,但应注释您的代码,因为对此知之甚少。即
public static final String configOption1 = "some option".intern();
这样可以防止内联编译时间。由于它是指编译器将放入烫发中的完全相同的字符串,因此您无需创建任何其他内容。
作为替代方案,您始终可以
public static final String configOption1 = "some option".toString();
但是,这将不使用已编译的intern’d字符串,它将在旧gen上创建一个新字符串。没什么大不了的,而且可能更容易阅读。无论哪种方式,由于这有点奇怪,您应该注释代码以告知维护它的人您正在做什么。
编辑: 找到了另一个SO链接,该链接提供了对JLS的引用



