空字符串、空白字符串和 null
三者的区别表格:
类型 | 定义 | 示例 | 长度 | 是否有值 |
---|---|---|---|---|
空字符串 | 字符串长度为 0,但不是 null ,即存在一个有效的空字符串对象。 | "" | 0 | 有值(空值) |
空白字符串 | 字符串包含空格、制表符等空白字符,但不为空。 | " " (一个空格) | > 0(至少 1) | 有值(空格) |
null | 代表没有值,指向空引用,表示变量未初始化或没有指向任何对象。 | null | 无法确定(无值) | 无值(无对象) |
详细解释:
- 空字符串 (
""
):它是一个有效的字符串对象,长度为 0。它仍然是一个非null
的对象,但没有任何内容。 - 空白字符串 (
" "
或其他空白字符):它包含了一个或多个空格字符(可以是空格、制表符等),因此长度大于 0,表示有值,只是值为空白字符。 null
:代表“没有对象”或“没有值”。它不是一个字符串对象,只是一个空引用,因此在操作时需要小心,避免出现NullPointerException
。