Fork me on GitHub

1. Unicode & Java char 类型

“Unicode 转义序列会在解析代码之前得到处理。” 说明 Java 源代码可视为 Unicode 字符的集合。

下面这行注释文本会导致 Java 语法错误,因为 \u000a (\n) 代表换行

1
// \u000a test

下面这行注释文本会导致 Java 编译错误,因为 \u 之后必须是4个十六进制数字,

错误信息:”error: illegal unicode escape”

1
// look inside c:\users

“char 类型描述了 UTF-16 编码中的一个代码单元(Code Unit), 不建议在程序中使用 char 类型,推荐使用字符串对象解决字符相关问题。” 因为 Java char 类型长度是 2 字节,已经无法完全描述 Unicode 字符。因此,要谨慎使用 String.charAt(int) 方法,不一定能得到一个合法的 Unicode 字符,尤其是在实现字符串字符逆序的功能上,应该直接使用 StringBuilder 提供的 reverse() 方法。

参考文章



Top