java - 数组忽略 Null 作为值

标签 java arrays null nullpointerexception

我有代码:

for (int i = 0; i < directory.length; i++) {
    if (directory[i].contains (number)) {
        if (directory[i+1] == null){
            directory[i] = null;
        }
        else {
            for (int k=i; k<directory.length; k++){
                System.out.println(directory[k]);
                System.out.println(directory[k+1]);
                if (directory[i+1] != null){
                    directory[k] = directory[k+1];
                    System.out.println(directory[k]);
                }

我认为重要的一点是“if (directory[i+1] != null){”我使用的是一个数组,我试图查找下一个元素是否不为空,然后执行代码。但是,即使下一个值为 null,它仍然会执行此操作。有什么建议么?

谢谢。

最佳答案

您的问题是您没有在循环中使用循环索引。您只是一遍又一遍地测试初始值。

这个

if (directory[i+1] != null){

应该是这个

if (directory[k+1] != null){

关于java - 数组忽略 Null 作为值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22080109/

相关文章:

java - 支柱2.3 : runtime add Interceptor

java - JSP getAttribute() 返回 null

php - 打印出一个对象类型的 PHP 数组

python - 如何用填充的 0 reshape Numpy 数组

c# - 字符串相等与 null 处理

java - 如何有意义地检测低规范的移动设备?

java - 将值放入 M​​ap of Map

php - : in_array or array_unique? 用什么比较好

java - 如果 equals(null) 抛出 NullPointerException 是个坏主意吗?

null - 仅当不为空时才为变量赋值 - Kotlin