添加unicode\u0022时编译时间错误

use*_*861 3 java string unicode cxf soap-client

我正在尝试使用unicode在字符串中添加双引号,但是当我这样做时,我得到编译时错误.

String unicCode = "\u0022"; //This line gives a compile time error.
Run Code Online (Sandbox Code Playgroud)

编译错误是我得到的

字符串文字未通过双引号正确关闭.

有人可以帮助我理解用于附加双引号(")的unicode所需的转义字符.

Ank*_*hal 7

 public static void main(String[] args) {
        String quote = "\u005c\u0022";
        System.out.println(quote);
    }
Run Code Online (Sandbox Code Playgroud)

产量

"
Run Code Online (Sandbox Code Playgroud)
public static void main(String[] args) {
        String quote = "\u005c\u0022" + "abc" + "\u005c\u0022";
        System.out.println(quote);
    }
Run Code Online (Sandbox Code Playgroud)

产量

"abc"
Run Code Online (Sandbox Code Playgroud)

如果你想将两个双引号字符放入字符串文字中,你可以使用正常的转义序列.但是你无法做到,Unicode escapes因为Java没有为字符串文字中的Unicode转义提供特殊处理.

String quote = "\"";
Run Code Online (Sandbox Code Playgroud)

//我们不能用单个Unicode转义表示相同的字符串.

// \u0022与编译器的含义完全相同".

//下面的字符串变为""":后跟一个空字符串

//由未终止的字符串生成编译错误.

String quote = "\u0022";
Run Code Online (Sandbox Code Playgroud)