如何检查字符串数组是否已满

时间:2013-11-19 11:01:21

标签: java

我想检查是否为字符串数组的每个部分分配了值,例如如果我的字符串数组是String [8],我需要检查字符串数组中是否有8个不同的值。

4 个答案:

答案 0 :(得分:3)

你需要遍历数组的每个元素并检查它是否为null,如果没有为null则列表已满。

boolean isFull = true;
for(String s : yourarray) {
    if(s == null) {
        isFull = false;
        break;
    }
}

如果每个值需要不同,那么你必须有嵌套循环。 (问题中有点不清楚)

boolean isFull = true;
for(String s : yourarray) {
    for(String t : yourarray) {
        if(s == null || s.equals(t)) {
            isFull = false;
            break;
        }
    }
}

答案 1 :(得分:0)

使用for循环:

boolean isFull = true;
for(int i = 0;i<yourarray.length;i++)
{
    if(yourarray[i] != null && !yourarray[i].isEmpty())
    {
        isFull = false;
        break;
    }
}

答案 2 :(得分:0)

您想知道构成字符串的字符是否都不同。为此,我建议使用以下方法:String#length,String.charAt,String.indexOf和所有字符的循环,即从0到n-1,其中n是字符串长度。

答案 3 :(得分:0)

你可以这样做:这里str_array(刚刚为了示例目的而初始化)是字符串数组,而empty_indexes是String数组的索引列表是空的。

        String str = "This is the example string";
        String[] str_array = str.split(" ");
        ArrayList<Integer> empty_indexes = new ArrayList<Integer>();
        for (int i = 0; i < str_array.length; i++) {
            if (str_array[i] != null) {
                if (str_array.equals("")) {
                    empty_indexes.add(i);
                }
            } else {
                empty_indexes.add(i);
            }
        }