Pau*_*lor 7 java unicode unicode-literals
为什么这个代码
public class Apostrophier
{
public static String replace(String s)
{
return s.replace('\u0092','\u0027');
}
}
Run Code Online (Sandbox Code Playgroud)
给
'空字符文字'
当我尝试编译?
Roh*_*ain 11
源文件中的unicode代码点将替换为它们所代表的实际字符.因为'\u0027'是'(撇号).因此,您的return语句将替换为:
return s.replace('\u0092',''');
Run Code Online (Sandbox Code Playgroud)
注意: \u0092也将被控制字符替换.
因此,第二个参数是无效的字符文字.你可以\'直接使用.
替换unicode序列是编译过程中非常早期的一步.特别是,它在解析文字之前发生.因此,当解析文字的时候,\u0027已经被替换了'.因此,在逗号之后,你有''',编译器无法理解.
| 归档时间: |
|
| 查看次数: |
2837 次 |
| 最近记录: |