有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

ArrayList中的java对象更新

如何从Person类型的arrayList中获取第二个对象,并将方法应用于该特定对象

ArrayList<Person> person = new ArrayList<Person>();

例如,我在Person类中有一个名为hasBirthday()的方法,它给对象Person添加了一年,但它只适用于创建的第二个对象。这是为了显示生日快乐消息,并在从控制台创建第二个对象后添加一年。毕竟我们喜欢生日;)


共 (3) 个答案

  1. # 1 楼答案

    以下是一种安全的方法:

    if(person.size() >1 && person.get(1) != null){
        person.get(1).hasBirthday();
    }
    

    这将检查List的长度是否正确,并且该索引处的值是否为空

    我会将您的hasBirthday方法重命名为类似increaseAge的名称,或者重命名为用于分配年龄的setter,如setAge如果年龄是允许分配的。描述性方法名称很有用

  2. # 2 楼答案

    我相信你的意思是:

    person.get(1).hasBirthday();
    

    这将对列表中的第二个对象(如果存在)调用hasBirthday方法

  3. # 3 楼答案

    ArrayList<Person> person = new ArrayList<Person>();
    person.add(new Person(someParam1));
    person.add(new Person(someParam2));
    person.add(new Person(someParam3));
    
    if (person.size() >= 2) {
        Person secondPerson = person.get(1);
        secondPerson.hasBirthday();
    }