Java Python中字符串中的双引号类似于三重双引号

Java Python中字符串中的双引号类似于三重双引号,java,Java,在Python中,我可以使用: test = """My "cute" string""" 双引号转义的地方。有没有一种方法可以不使用转义斜杠而在Java中模拟这种情况?我看不出有什么理由不转义“,但是..您可以: System.out.println((char)34+"Some Text"+(char)34); //See ASCII table for more information 输出>>“一些文本”您必须使用\u0022 String str= "\u0022 MyString

在Python中,我可以使用:

test = """My "cute" string"""

双引号转义的地方。有没有一种方法可以不使用转义斜杠而在Java中模拟这种情况?

我看不出有什么理由不转义
,但是..您可以:

System.out.println((char)34+"Some Text"+(char)34); //See ASCII table for more information

输出>>“一些文本”

您必须使用
\u0022

String str= "\u0022 MyString \u0022";

但是这非常类似于通过
\

转义
,如果不需要转义,则应使用字符串串联,例如:

test = '"' + "My " + '"' + "cute" + '"' + " string" + '"';
或者使用
StringBuffer
附加
字符(如果需要)

另一种方法是使用
String.format

test = String.format("%1$sMy %1$scute%1$s string%1$s", '"');

它用您稍后给出的“报价”替换了
%1$s

不,在Java中没有明智的方法来这样做。从其他答案来看,我认为避开报价是最省力的方法

不过,在Groovy中(它也在Java VM上运行)也可以使用单引号:

`'some "String"'`
或所谓的此处文件:

""" Everything here can be "quoted"
/"""

但是Java没有这样的机制。

test=“\'My\'cute\'string\”;
这可以用转义斜杠来完成。他说没有转义字符我不明白使用下面提到的方法比转义更容易。同意。Downvoter,这是目前为止唯一坚持这个原则的答案“不使用转义斜杠”的要求。@SeanPatrickFloyd:当然,我不建议编写这样的代码。但我认为这是一个不使用转义符的
字符的好方法。@TuTran,所有其他方法而不是使用“\”都很容易出错。在OP的示例中尝试使用下面答案的方法,结果的复杂性是sameWell如果我们放弃Java,为什么不一直使用Jython呢?我很确定这与JVM上的Python风格的字符串文字非常接近。这一点很好,但我没有Python方面的经验,所以我没有想到这一点。看起来这仍然使用转义斜杠