@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"都不同,
所以無法找到能夠描述它的符號
*/
}
如有理解的不對的地方,還請各位大神指正!