在以下示例中:

class Foo {
    public static String[] listofimages = new String[]{};

    public static void main(String[] args) {

        for(int i = 1; i <= 3; i++) {
                   listofimages[i] = //some image that I am adding to it
        }

    }
}


我正在尝试访问另一个类Foobar中的新修改的listofimages变量(请参见下文):

class Foobar(){
    public void someClass{
        Foo.listofimages //trying to access the newly modified listofimages variable with values in it
}


上面的代码对我不起作用。我对如何在未声明的类Foobar中访问新修改的静态变量listofimages感到困惑。任何帮助将不胜感激,谢谢! :)

最佳答案

如果您正在初始化所示的静态数组,即-listofimages = new String[]{},则它是一个空数组,并且listofimages[i]将始终引发异常。您应该以正长度初始化它,并且仅分配给该数组的有效索引。

至于从不同的类访问该数组,Foo.listofimages应该起作用(尽管Foo类必须是公共的才能对属于其他包的类可见)。

10-08 19:11