最新消息:把Logo换了一下,虽然丑了点,但至少完全是自己的设计

Java中使用Unicode(\uXXXX)时要注意的地方

Java 宇托 83浏览 暂无评论

有些人喜欢在字符串中,使用\uXXXX的写法,但用这种写法时,要注意一点。Java中,不是在编译时转换\uXXXX的,而时在编译前把\uXXXX转换为对应字符,然后再编译的。

正是因为这样的原因,在Java中如果把换行符(\r\n)写成Unicode\u000A\u000D的形式,就会有一些不可思议的结果。

比如下面一段代码:

Java
public class Test {
    public static void main(String[] args) {
        System.out.println("Hello\u000AWorld");
    }
}

这段代码看起来没事,实际上它无法编译通过。因为\u000a会在编译前被替换成改行。

再看下面这一段代码

Java
public class JavaTest {
    public static void main(String[] args) {
        if (true == false) {  // \u000A\u007D\u007B
            System.out.println("true == false");
        }
    }
}

结果是什么?结果会输出true == false。因为\u000A\u007D\u007B在编译前会被替换成改行加上}{

总的来说,一定不要把换行符(\u000A\u000D)写成Unicode的形式。

转载请注明:宇托的狗窝 » Java中使用Unicode(\uXXXX)时要注意的地方

发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址