对象数组导致NullPointerException Java

对象数组导致NullPointerException Java,java,nullpointerexception,Java,Nullpointerexception,我不知道为什么,但这行代码给出了一个NullPointerException。我搜索了创建用户obj的数组。同样,在Java中,我没有发现任何问题 private State[] states; . . . private void initializeStates( ) { states = new State[ stateNames.length ]; // Throws NullPointerException for( i

我不知道为什么,但这行代码给出了一个
NullPointerException
。我搜索了创建用户obj的数组。同样,在Java中,我没有发现任何问题

private State[] states;
.    
.
.
private void initializeStates( )
        {
            states = new State[ stateNames.length ]; // Throws NullPointerException

        for( int i = 0; i < stateNames.length; i++ )
        {
            states[i] = new State();
            states[i].setName( stateNames[i] );
            states[i].setColor( stateColors.getColor() );
        }
    } // End of initializeStates()

如果此行引发异常:

states = new State[ stateNames.length ]; // Throws NullPointerException
。。。然后问题是
stateNames
null
。您的代码没有达到其他代码的水平

您还没有显示声明或初始化
stateNames
的位置,但这是您接下来应该查看的位置

另一方面,这:

stateName = new String();
。。。无缘无故地效率低下。只需使用空字符串文字:

stateName = "";

(或者更好,将适当的初始值作为构造函数参数。)

如果此行引发异常:

states = new State[ stateNames.length ]; // Throws NullPointerException
。。。然后问题是
stateNames
null
。您的代码没有达到其他代码的水平

您还没有显示声明或初始化
stateNames
的位置,但这是您接下来应该查看的位置

另一方面,这:

stateName = new String();
。。。无缘无故地效率低下。只需使用空字符串文字:

stateName = "";

(或者更好,将适当的初始值作为构造函数参数。)

您可以发布stacktrace并指向异常行吗?您可以发布stacktrace并指向异常行吗?