我正在使用 swing 获取一个字符串,我需要验证它是否不为空 我用这个代码
if(site.equals(null)) {
System.out.println("null");
} else {
System.out.println("notnull");
}
如果也有null,它总是显示“notnull”
最佳答案
要测试实际的无效性,请像这样使用 ==
:
if (site == null)
或者实际上是条件运算符,对于所示情况:
System.out.println(site == null ? "null" : "notnull");
请注意,空引用不与空字符串相同。您希望空字符串如何表现?如果您确实有空引用,那么您当前的代码会抛出一个 NullPointerException
。
测试空字符串的最简单方法是使用 isEmpty
方法:
System.out.println(site.isEmpty() ? "empty" : "not empty");
注意:
- 如果
site
真的是 null,这将抛出异常 - 这会将空格视为无关紧要
如果您想测试 null/empty/empty-or-whitespace,可以使用具有该功能的各种第三方库。
关于java - java中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3364840/