小编典典

错误:需要数组,但找到字符串

java

我已经声明了公共静态数组的名称和ID:

public static String[] name = new String[19];     
public static int[] id  = new int[19];

但是java compiler说:

java:70: error: array required, but String found
java:71: error: array required, but int found

我不知道怎么了 是我声明变量的方式还是写的方法?

public static boolean add(String name, int id, int i) 
{
    if (i < 20) {
        name[i] = name;
        id[i] = id;
        return true;
    }
    else if (i > 20) {
        for (int j = 0; j < id.length; j++) {
            if (id[j] == 0 && name[j].equals("null"))
                id[j] = id;
            name[j] = name; 
        }
        return true;
    }
    else
        return false;
}

阅读 1585

收藏
2020-11-30

共1个答案

小编典典

您在静态nameString数组和name传递给该add方法的本地String变量之间发生冲突。

最好的解决方案是使用不同的名称。这将使代码更容易理解。

如果仍然坚持使用相同的名称,则可以通过使用类名称访问静态数组来解决名称冲突:

YourClassName.name[i]= name;

这同样适用于您的idint数组和idint变量。

2020-11-30