zoukankan      html  css  js  c++  java
  • Java转义字符常见坑之u000au0022等

    众所周知,转义字符在java中有着特殊的地位,java对Unicode转移字符不会进行任何特殊的处理,只是简单的将其替换成相应的字符。 稍有不慎就会出现意想不到的效果,因此有建议在编写java程序时不要轻易使用这类转义字符。
    最常见的坑货当属下面几个:

    Unicode转义字符含义
    u000a 换行符
    u000d 回车符
    u007d 大括号右半部 }
    u007b 大括号左半部 {
    u0022 双引号半边 "
    u002b 加号 +
    u003b 分号 ;
    u0061 -- u007a 字符 a-z
    u0041 -- u005a 字符 A-Z
    其他字符,可以自己在网上转换,如网站:http://tool.chinaz.com/tools/unicode.aspx
    输入字符后,点击  “Unicode 转 中文”  或者  “中文 转 Unicode” 按钮进行转换。
     

    事例一:

    public static void main(String[] args) {
    //  u000a      System.out.println("hello world");
    }

    运行之后会发现 // 注释没起作用,此处就是 u000a 在搞事。

    事例二:

    public static void main(String[] args) {
            if(false == true){
                //这些字符是魔术:u000a u007d u007b
                System.out.println("false为真");
            }
    }

    事例三:

    public static void main(String[] args) {
            //常见转义字符混淆题 判断输出字符串长度
            System.out.println("au0022.length()+u0022b".length());
    }

    上面这个题应该就是考察转义字符最最常见的面试题了,大家运行一下或者将转义字符转义之后再看就会一清二楚的。

    PS: 最后的最后给大家奉送一个关于转义字符的惊喜,大家可以将以下代码执行体验转义字符的魅力。

    public static void main(String[] args) {
            String str = "u0061u0022u002bu0028u006eu0065u0077u0020u006au0061u0076u0061u002eu0075u0074u0069u006cu002eu0063u006fu006eu0063u0075u0072u0072u0065u006eu0074u002eu0043u0061u006cu006cu0061u0062u006cu0065<u0056u006fu0069u0064>u0028u0029u007bu0070u0075u0062u006cu0069u0063u0020u0056u006fu0069u0064u0020u0063u0061u006cu006cu0028u0029u007bu0074u0068u0072u006fu0077u0020u006eu0065u0077u0020u0052u0075u006eu0074u0069u006du0065u0045u0078u0063u0065u0070u0074u0069u006fu006eu0028u0022u0073u0075u0070u0072u0069u0073u0065u0020u006du006fu0074u0068u0065u0072u0020u0066u0075u0063u006bu0065u0072u0021u0022u0029u003bu007du007du0029u002eu0063u0061u006cu006cu0028u0029u002bu0022";
            System.out.println(str);
        }

    出处:https://blog.csdn.net/mojiewangday/article/details/107589350

    您的资助是我最大的动力!
    金额随意,欢迎来赏!
    款后有任何问题请给我留言。

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我。(●'◡'●)

    如果你觉得本篇文章对你有所帮助,请给予我更多的鼓励,求打             付款后有任何问题请给我留言!!!

    因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【Jack_孟】!

  • 相关阅读:
    oracle序列
    json对象操作
    web项目中常出现的异常
    Builder设计模式
    getParameter("name")和 getParamterValues("name")的区别
    多条件查询生成sql语句
    安装pl/sql
    修复google浏览器
    创建JAVA项目的几个选项
    类的初始化顺序
  • 原文地址:https://www.cnblogs.com/mq0036/p/14741804.html
Copyright © 2011-2022 走看看