java哪些字符串是空的?
在JDK文档中,它声明字符串方法isEmpty()
对于任何长度为0的字符串都是真的
对于空字符串""
,这显然是正确的
是否还有其他字符串是这种情况?我测试了换行符和回车符,它们有一个长度。我还没有测试附加了退格的字符
编辑:我感谢下面所有好答案中的所有附加信息,但是我已经接受了我认为是对这个问题最直接的答案
你可以在下面搜索框中键入要查询的问题!
在JDK文档中,它声明字符串方法isEmpty()
对于任何长度为0的字符串都是真的
对于空字符串""
,这显然是正确的
是否还有其他字符串是这种情况?我测试了换行符和回车符,它们有一个长度。我还没有测试附加了退格的字符
编辑:我感谢下面所有好答案中的所有附加信息,但是我已经接受了我认为是对这个问题最直接的答案
# 1 楼答案
从Java1.6开始,可以使用onwords^{} 。它比
String.equals("")
调用快。字符串存储构造函数中初始化的计数变量,因为字符串是不可变的isEmpty()
将count变量与0进行比较,而equals将检查类型、字符串长度,然后在大小匹配的情况下迭代字符串进行比较来自javadoc-
# 2 楼答案
从JavaDoc
因此,没有其他情况下
isEmpty()
将返回true
# 3 楼答案
apaches commons org.apache.commons.lang3.StringUtils类中有两个有用的方法
isBlank(CharSequence cs)
检查字符序列是空白、空(“”)还是空
isEmpty(CharSequence cs)
检查CharSequence是空(“”)还是空
也许这就是你想要的,如果你不想重新发明轮子的话
# 4 楼答案
见implementation部分:
其中
count
是字符串中的字符数只有当字符串中没有字符时才会出现这种情况,字符串中只有
""
# 5 楼答案
“长度为零的字符串”表示该字符串不包含任何字符,包括不可见、零宽度等Unicode字符
因此,屏幕上表示为完全空白且零宽度(如果包含字符)的字符串仍然是非空的
# 6 楼答案
长度为0的字符串包含0个字符。所以不,除了空字符串之外,没有其他字符串是空的