我得到一个NullPointerException

时间:2016-10-07 12:05:55

标签: nullpointerexception

private static Person[] createPersons(int N) {
    System.out.println("To be implemented - create "+N+" Person");
    Person person[] = new Person[N];

    for(int i = 0; i < N; i++){
        System.out.println("error1");
        int age = 20 + i;
        String name = "Mr. Espresso" + i;
        final char gender = 'M';
        **person[i].setName(name);**
        person[i].setAge(age);
        person[i].setGender(gender);

    }
    return person;

public void setAge( int age ) {
    this.age = age;
}


/**
 * Sets the gender of this person.
 *
 * @param gender this person's age
 */
public void setGender( char gender ) {
    this.gender = gender;
}

/**
 * Sets the name of this person.
 *
 * @param age this person's name
 */
public void setName( String name ) {
    this.name = name;
}

我正在尝试创建一个人(对象)数组并用值填充它。但是它在person [i] .setName(name)上给出了NullPointerException;谁能解释我为什么?

setName / age / gender指的是person对象类中的方法。如下所示。

我已阅读其他文章,但我没有看到。

1 个答案:

答案 0 :(得分:1)

您需要在person数组中创建每个Person对象。 您可能需要在错误行之上 person[i] = new Person();