数组忽略Null为值

时间:2014-02-27 20:52:08

标签: 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然后执行代码。但是,即使下一个值为null,它仍会执行。有什么建议?

谢谢。

2 个答案:

答案 0 :(得分:1)

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

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

应该是这个

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

答案 1 :(得分:1)

目录[i + 1]的下一个值永远不会为null @“if(directory [i + 1]!= null){”因为在else语句之前你检查目录是否为[i + 1] ] == null

我的猜测是迭代中的一个小错误,也许你的目录[k + 1]?