Есть ли в Java символ '@' для экранирования кавычек? - PullRequest
9 голосов
/ 07 января 2010

В моей строке двойные кавычки, в C# я бы сделал:

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

как бы я это сделал на Java?

Ответы [ 2 ]

12 голосов
/ 07 января 2010

Нет. Такая функция недоступна в Java.
От Солнца документы :

Когда в операторе печати встречается escape-последовательность, компилятор интерпретирует ее соответствующим образом. Например, если вы хотите поместить кавычки в кавычки, вы должны использовать escape-последовательность \ "для внутренних кавычек. Чтобы напечатать предложение

She said "Hello!" to me.

вы бы написали

System.out.println("She said \"Hello!\" to me.");
3 голосов
/ 21 апреля 2010

На данный момент ничего подобного нет, но это «Исправить понятый» запрос на улучшение.

Если добавлено, эта функция будет разрешать такие строковые литералы:

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

В некоторых комментариях это отвергается главным образом из-за того, что это синтаксический сахар, но, очевидно, на него высокий спрос, поэтому возможно, что мы увидим это когда-нибудь.

...