如何解决对于相同的输入,是否有String.isEmpty返回true且String.isBlank返回false的情况?
String.isBlank()
等于String.isEmpty() + *whitespace only check*
吗?
在查看String.isBlank()
的源代码时,如果长度为零,它将返回true。但是我想知道是否存在isEmpty()
返回true
并且isBlank()
返回false
的相同输入的情况。
解决方法
文档说isEmpty()
:
仅在length()为0时返回true。
isBlank()
的文档:
如果字符串为空,则返回 true 或仅包含空格代码点,否则为false。
重点增强。
所以isBlank()
似乎也涵盖了isEmpty()
的所有情况。
只有一个字符串,其中isEmpty()
返回true
,这是一个空字符串""
。如果提供了空字符串作为参数,则isBlank()
返回true
。
所以:否。 isEmpty()
返回true而isBlank()
返回false的情况不存在。
如果是的话,这是一个软件错误,只要文档中描述了预期的行为即可。否则你必须问薛定ding。
,至少有一个输入,isEmpty()
和isBlank()
产生相反的结果,这是一个空格:
public class MyClass {
public static void main(String args[]) {
String s = " ";
System.out.println("isBlank: "+s.isBlank());
System.out.println("isEmpty: "+s.isEmpty());
}
}
输出:
isBlank:是
isEmpty:false
isBlank()
返回false而isEmpty
返回true的相反情况不会发生,因为根据documentation,isBlank()
仅在字符串为空或返回时才返回true。仅包含空格代码点,并且仅当isEmpty()
为0时,length()
才返回true。并且不存在长度为0的字符串不被视为空白的情况。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。