關於\u0000的驗證總結

@Test
public void method1() {
    String a = String.valueOf('\u0000'); //控制檯輸出的是空格,\u0000 表示的是Unicode值
    log.info("a的Unicode值:" + Integer.toHexString(a.charAt(0)));// \u0000
    String b = " "; // 空格字符串
    String c = ""; //空字符串
    String d = null; //沒有任何指向的字符串引用
    String e = "null"; //null字符串,這個null是常量池裏的
    log.info(a + ";" + b + ";" +c + ";" + d + ";" + e + ";");
    log.info("a.equals(c):" + a.equals(c)); // false
    log.info("a.equals(b):" + a.equals(b)); // false
    log.info("a == c:" + (a == c)); // false
    log.info("a == d:" + (d == a)); // false
    log.info("a.equals(e):" + a.equals(e)); // false

    /*
      總結:1. 我們知道,Character類定了最小值 MIN_VALUE = '\u0000',
              這也是ASCII表的最小值,這樣描述:空字符(NUL)
            2. 雖然它轉換爲字符串輸出爲空格,但是它與空格、空字符串、NULL和"null"都不同,
              所以無法找到能夠描述它的符號
     */
}

如有理解的不對的地方,還請各位大神指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章