我想将aphostrophe的值赋给char:
char a = '\'';
Run Code Online (Sandbox Code Playgroud)
但是我想使用untropode版本的撇号(\ u0027)来保持它与我的代码一致:
char a = '\u0027';
Run Code Online (Sandbox Code Playgroud)
但这样做会给出一个错误,说"未封闭的字符文字".
如何在代码中使用unicode代码时如何进行此分配?
T.J*_*der 12
原因\u0027不起作用的是编译器很早就处理了unicode转义,当然,它最终成为了' - 它终止了文字.编译器实际上看到了这个:
char a = ''';
Run Code Online (Sandbox Code Playgroud)
......这自然是一个问题.JLS在第3.10.4节(字符文字)中讨论了与换行相关的内容.
坦率地说,我觉得你最好写作
char a = '\'';
Run Code Online (Sandbox Code Playgroud)
...但是char是数字类型,所以你可以这样做:
char a = 0x0027;
Run Code Online (Sandbox Code Playgroud)
当然,你可以这样做:
char a = "\u0027".charAt(0);
Run Code Online (Sandbox Code Playgroud)
......但我认为我们都同意这有点矫枉过正.;-)
哦,还是看看Greg的答案:char a = '\u005c\u0027';(\u005c是的,当然,一个反斜杠-所以编译器看到的'\'').
| 归档时间: |
|
| 查看次数: |
13025 次 |
| 最近记录: |