0

这是我的 if 语句:

for(int i=0;i<SharedPrefsData.subscribers.length; i++){//loop through subscribers array
        if(SharedPrefsData.subscribers[i] == null ){//if string at index i is null
            SharedPrefsData.subscribers[i] = "";//make it empty string instead of null
        }

    }

我希望它遍历一个字符串数组并检查每个元素是否为null. 我的数组是:

[name_1, null, null, null, null, null, null, null, null, null, null, null, null, null, null]

但它从未进入我的 if 语句的 then 部分。如果有人可以提供帮助,将不胜感激。

编辑:我设置数组的代码:

public static String[] getPrefs(){
    String[] ToReturn;
    String tempString = settings.getString("123", "0");
    if(tempString == "0"){
        //show some type of error
        ToReturn = null;
    } else {
        ToReturn = tempString.split("@,#");
    }
    return ToReturn;


}

这是调用该方法的语句:

SharedPrefsData.setSubscribers(SharedPrefsData.getPrefs());

settings是同一类类型中的字段SharedPreferences

4

1 回答 1

0

问题可能出在数据源上

SharedPrefsData.subscribers 数组可能有 'null' 字符串而不是 null。试试看嘛

if(SharedPrefsData.subscribers[i] == null ||  SharedPrefsData.subscribers[i].equals("null"))

同样,问题可能与源有关,如果问题通过上述语句解决,您需要查看源并确保它没有返回“null”字符串代替 null 对象

于 2013-07-10T15:26:47.653 回答