在Java中,有没有办法编写一个字符串文字而不必转义引号?



Answers

不,我一直对Java缺乏不同的字符串文字感到恼火。

以下是我不时使用的一个技巧:

String myString = "using `backticks` instead of quotes".replace('`', '"');

我主要只为静态字段做类似的事情。 由于它是静态的,所以在初始化类时,字符串替换代码被调用一次。 因此,运行时性能损失几乎不存在,并且使代码更清晰易读。

Question

假设你有一个带有大量引号的字符串文字。 你可以逃避所有的事情,但这是一种痛苦,很难阅读。

在某些语言中,你可以这样做:

foo = '"Hello, World"';

然而,在Java中, ''用于char ,所以你不能以这种方式将它用于String 。 有些语言的语法可以解决这个问题。 例如,在Python中,你可以这样做:

"""A pretty "convenient" string"""

Java有类似的东西吗?




以下似乎适用于我:

String x = "Some Text" + '"' + "More Text" + '"' + "Even More Text";

我认为,因为char是String的原始变量类型,所以可以组合字符串和字符(至少eclipse编译器似乎没有抱怨)。




简单的回答:不。

对于必须转义的更长的字符串,我通常从外部资源读取它们。




Links