【问题标题】:Does Java have the '@' character to escape string quotes?Java是否有'@'字符来转义字符串引号?
【发布时间】:2011-01-02 09:04:03
【问题描述】:

我的字符串中有双引号,C# 我会这样做:

string blah = @"this is my ""text";

我将如何在 Java 中做到这一点?

【问题讨论】:

标签: c# java string quotes double-quotes


【解决方案1】:

没有。 Java 中没有这样的功能。
来自太阳docs

当在打印语句中遇到转义序列时,编译器会相应地解释它。例如,如果要在引号内加上引号,则必须在内部引号上使用转义序列 \"。要打印句子

她说“你好!”对我来说。

你会写

System.out.println("She said \"Hello!\" to me.");

【讨论】:

    【解决方案2】:

    目前没有类似的东西,但它是“修复理解”的增强请求。

    如果添加,此功能将允许此类字符串文字:

    String qry = @"
       SELECT
         a.name, b.number
       FROM
         User a, Data b
       WHERE
         a.name = "James"
          AND
         a.id = b.id
    ";
    

    一些 cmets 拒绝这个主要是因为它是一种语法糖,但显然对它的需求很高,所以我们有可能有一天会看到它。

    【讨论】:

    • 我不明白拒绝某个功能的原因,因为它是语法糖。在我看来,允许编码人员不编写锅炉代码似乎是一种语言改进......
    • 此答案中的 bugs.sun.com 链接目前已损坏;它链接到带有消息“此错误不可用”的 Oracle 页面。此页面的当前版本在某处可用吗?
    【解决方案3】:

    是*(自 2019 年 9 月起),但它使用了不同的语法。 “””(三个双引号)。

    *在最近的 java 版本中(预览版 +13,生产就绪 +15),使用 java 文本块可以实现大部分等效。

    String html = """         
                <xml>
                    <ody>
                        <pan>example xml </pan>
                    </ody>
                </xml>""";
    

    https://docs.oracle.com/en/java/javase/13/text_blocks/index.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-27
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-27
      相关资源
      最近更新 更多