Java 中 null 和空字符串的區別
瀏覽人數:223最近更新:
一、概述
在本教程中,我們將了解 Java 中null
和空String
之間的區別。這是兩個截然不同的概念,但有時它們可能無法按預期與String
一起使用。
2. Java中的null
String
null
是 Java 中的保留關鍵字,表示沒有任何值。此外,為對象引用null
空值意味著它不引用內存中的任何對像或值。
默認情況下,Java 根據類型用null
值初始化引用變量,用默認值初始化基元。因此,我們不能將 null分配**null
primitives** 。
如果我們將null
分配給一個String
對象,它會被初始化但不會被實例化,因此沒有任何值或引用。
3. Java 中的空String
空String
是沒有字符的有效String
對象,因此,所有String
操作都可用於該對象。
讓我們看一些測試,看看兩者之間的區別:
String nullString = null;
String emptyString = "";
assertTrue(emptyString.equals(""));
assertThrows(NullPointerException.class, () -> nullString.length());
在上面的測試用例中,我們定義了兩個String
對象,一個為空,一個為null
。然後我們嘗試使用String
類中可用的方法。
測試用例成功執行,從而驗證String
操作可用於空String,
但不可用於null
String.
讓我們檢查另一個場景,我們檢查兩者是否相等:
String nullString = null;
String emptyString = "";
assertFalse(emptyString.equals(nullString));
assertFalse(emptyString == nullString);
在此測試場景中,我們使用equals() and ==
比較兩個String
對像是否相等。執行測試用例後,它成功驗證了null
和空String
不相同。
4。結論
在本文中,我們了解了 Java 中null
和空String
之間的區別。首先,我們定義了概念,然後查看它們在不同場景中的表現。
本質上, null
表示沒有任何值,而空String
表示有效的String.
空String
有一些長度為零的值。
與往常一樣,所有示例的源代碼都可以在 GitHub 上找到。
本作品係原創或者翻譯,採用《署名-非商業性使用-禁止演繹4.0國際》許可協議