繁体   English   中英

更改Arraylist java中的字符串

[英]change String in an Arraylist java

我正在尝试更改 Arraylist 中的字符串,但在访问正确位置进行更改时遇到了一些麻烦。

所以我尝试使用students.get(i).getFirstName() = newFirstName; 但此时我真的只是在尝试不同的东西。

下面是我试图对 firstName 和 lastName 进行更改的代码。 这是我的editStudentId方法

public void editStudentID(int findStudentId) {

        for (int i = 0; i < students.size(); i++) {
            if (students.get(i).getId() != findStudentId) {
                continue;
            }
            System.out.println("Found a profile containing information for " + findStudentId + ":");
            System.out.println("What would you like to change in your profile?");
            System.out.println("1.First Name");
            System.out.println("2.Last Name");
            int decision = scanner.nextInt();
            switch (decision) {
                case 1:
                    System.out.println("Enter a new first name to continue");
                    String newFirstName = scanner.next();
//so this is the part when I am currently working on but am having some trouble doing so
                    students.get(i).getFirstName() = newFirstName;
                    break;
                case 2:
                    System.out.println("Enter a new last name to continue");


                    break;
            }


           
            return;
        }
        System.out.println(" Id not found ");

    }

这是我的Students



public class Student {
    private final int id;
    private final String firstName;
    private final String lastName;
    private final String dob;

    public Student(int id,String firstName, String lastName, String dob) {
        this.id = id;
        this.firstName = firstName;
        this.lastName = lastName;
        this.dob = dob;
    }

    public int getId() {
        return id;
    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public String getDob() {
        return dob;
    }

    public static Student createStudentID(int id,String firstName, String lastName, String dob)
    {
        return new Student(id,firstName, lastName, dob);
    }
}


您应该添加一个 set 函数:

public void setFirstName(String newFirstName) {
        firstName = newFirstName;
    }

其他变量也一样。 Setter 和 Getter 是你的朋友。 然后调用这些函数。 使用get*来使用变量,而不是更改。 使用set来更改变量。

students.get(i).setFirstName(newFirstName);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM