Java 使用CSV文件将对象添加到arrayList,但对象的值返回null

Java 使用CSV文件将对象添加到arrayList,但对象的值返回null,java,csv,object,arraylist,Java,Csv,Object,Arraylist,我试图使用CSV文件创建员工对象列表,但当前每个值都为null。值为:用户名、姓氏、姓氏、电子邮件、性别、种族、id和ssn。我可以读入CSV文件并很好地解析它,但是当我尝试用对象填充列表时,它会填充它们,但每个值仍然为空。主要方法是: public static void main(String[] args) { String csvFile = "employee_data.csv"; BufferedReader br = null; String line =

我试图使用CSV文件创建员工对象列表,但当前每个值都为null。值为:用户名、姓氏、姓氏、电子邮件、性别、种族、id和ssn。我可以读入CSV文件并很好地解析它,但是当我尝试用对象填充列表时,它会填充它们,但每个值仍然为空。主要方法是:

public static void main(String[] args) {
    String csvFile = "employee_data.csv";
    BufferedReader br = null;
    String line = "";
    String cvsSplitBy = ",";
    List<Entry> People = new ArrayList<>();
    try {
        br = new BufferedReader(new FileReader(csvFile));
        while ((line = br.readLine()) != null) {
            // use comma as separator
            String[] Labels = line.split(cvsSplitBy);                 
            Entry entry = new Entry(Labels[0], Labels[1], Labels[2], Labels[3], Labels[4], Labels[5], Labels[6], Labels[7]);
            People.add(entry);
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (br != null) {
            try {
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    System.out.print(People);
}

我不知道为什么条目对象被正确地添加到列表中,但是标签数组中的值没有被传输,所以username、firstname等都被标记为null,我不明白为什么我认为条目类上的构造函数需要将参数分配给类中的字段。那么以下内容如何:

public class Entry {

    private String Username, Firstname, Lastname, Email, Gender, Race, ID, SSN;

    public Entry(String Username, String Firstname, String Lastname, String Email, String Gender, String Race, String ID, String SSN) {
        this.Username = Username;
        this.Firstname = Firstname;
        this.Lastname = Lastname;
        this.Email = Email;
        this.Gender = Gender;
        this.Race = Race;
        this.ID = ID;
        this.SSN = SSN;
    }

    @Override
    public String toString() {
        return ("Username:" + this.Username);
    }
}

你为什么感到惊讶?将
null
分配给构造函数中的每个字段:
this.Username=null;this.Firstname=null
public class Entry {

    private String Username, Firstname, Lastname, Email, Gender, Race, ID, SSN;

    public Entry(String Username, String Firstname, String Lastname, String Email, String Gender, String Race, String ID, String SSN) {
        this.Username = Username;
        this.Firstname = Firstname;
        this.Lastname = Lastname;
        this.Email = Email;
        this.Gender = Gender;
        this.Race = Race;
        this.ID = ID;
        this.SSN = SSN;
    }

    @Override
    public String toString() {
        return ("Username:" + this.Username);
    }
}