NullPointerExceptionがArrayListクラスに.size()を使用する場合

Nj_gnd:

現在、私は、ArrayListクラスを扱う割り当てをやっています。私は登録されているすべてのIDを通過し、IDを取得するためにループし、チェックのために作られたように、いくつかの点で、私は、インストラクターのIDを確認する必要があるとインストラクターがArrayListに二度追加されていないことを確認してくださいそれが既に存在している場合

私が使用した場合の問題は、この方法「.size()は、」ループ内で、JVMは、NullPointerExceptionがスローされ、私は理由を知りません。

================================================== ========================

私は、読み取りに必要なのはこれです:

\\名前 - ID - dateOfBirthの - 性別 - 度 - 専門 - 都市 - 可用性

アマンダ・スミス、102020、320101200000、M、博士、ソフトウェア工学、アメリカニューヨーク、真

================================================== =====================

これはコードです:

public static void main(String[] args) {

    /* NOTE: I HAVE A CLASS CALLED "UniversityMember" THAT IS A SUPERCLASS FOR "Instructor" CLASS */

    //declare what I need   
    ArrayList<UniversityMember> membersList;
    Scanner read = new Scanner("inputFile.txt");//the file contains the text above

    //First: Split the line everytime the sign ", " shows
    String[] line = read.nextLine().split(", ");

    //Second: Assign each valuse to its correspondeding variable
    String name = line[0];
    String id = line[1];
    long date = Long.parseLong(line[2]);
    Date birthDate = new Date(date);
    char gender = line[3].charAt(0);
    String degree = line[4];
    String specialization = line[5];
    String address = line[6];
    boolean availability = Boolean.parseBoolean(line[7]);

    //check if the Id is registered already
    for (int i = 0; i < membersList.size(); i++) { //ERROR OCCURE
        if (membersList.get(i) == null) {
            break;
        }

        if (membersList.get(i).id.equals(id)) {
            System.out.println("The instructor is registered already, the ID is found in the system.");
            System.exit(0);
        }
    }

    //add and make a new object for the constructor
    membersList.add(new Instructor(name, id, birthDate, gender, degree, specialization, address, availability));
    System.out.println("The instructor is successfully added.");

}//end main
JoeChris:

問題は、あなたがそれに.size()を呼び出すときmembersListが存在していないです

の代わりに

ArrayList<UniversityMember> membersList;

あなたはそれを初期化する必要があります

ArrayList<UniversityMember> membersList = new ArrayList<UniversityMember>();

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=404291&siteId=1