java - 如何检查数组是否为空或数组内容是否为空
问题描述
null
检查数组是否为值或数组内容是否null
组合在 Java 6 中的 1 条语句中的最佳方法是什么:
if ((myArray[0] != null) || (myArray[1] != null) || (myArray!= null)) {
...
}
解决方案
首先,检查数组是否不是null
自身。如果数组是null
,则没有理由迭代其元素,因为 Java 将NullPointerException
在访问它时抛出 :
if (myArray != null) {
// ...
}
然后在条件主体内遍历其所有元素并检查其中一个是否为null
.
boolean hasNull = false;
for (int i=0; i<myArray.length; i++) {
if (myArray[i] == null) {
hasNull = true;
break; // to terminate the iteration since there is no need to iterate more
}
}
这个单行解决方案(感谢@Napstablook 的警告)。该条件被评估为true
好像数组本身是null
或其元素之一是null
:
if !(myArray != null && myArray[0] != null && myArray[1] != null) { ... }
请注意,&&
运算符的工作原理是,如果左侧被评估为false
,它将停止评估条件的其余部分,因为它不会影响结果。同样的,||
但使用true
. 但是,我建议您避免使用此解决方案,因为索引可能会溢出。最好使用for-loop
上面提到的。
推荐阅读
- html - IE11 浮动输入标签错误(占位符显示的问题?)
- javascript - 打开对话框表单上传时如何设置默认文件夹
- php - 在wordpress中将“设置->阅读”从摘要更改为全文时出现无效的RSS提要错误
- wsdl - 无法实例化部署程序 org.apache.axis2.deployment.ServiceDeployer 如何在soapclient 中解决此问题?
- smtp - 消息:stream_socket_enable_crypto():对等证书 CN=`some-address-here` 与预期的 CN=`127.0.0.1' 不匹配
- php - 从文件 pdf.p7m 中提取证书的 PHP 代码
- ios - Xcode:在 Xcode 故事板中自定义字体显示错误样式
- javascript - 如何使用带有 jquery ui 自动完成功能的搜索按钮?
- trigonometry - 将极坐标转换为笛卡尔点的最简单方法
- botframework - 刷新 Teams Bot 图标 + 名称