当前位置: 首页 > 面试题库 >

Java,通过arraylist调用对象方法

景光赫
2023-03-14
问题内容

基于此问题 递增变量名称?

我有一个数组列表“ peopleHolder”,其中包含各种“人”对象。我想基于for循环自动创建“人”对象。我做了以下

    peopleHolder.add(new person());

我想从人员类中调用方法。例如person.setAge;
如何通过arraylist调用此类方法?我想为每个对象设置值的方法。


问题答案:

如果要在列表中的所有对象上调用某种方法,则需要首先对其进行迭代,然后在每个元素中调用方法。可以说您的列表如下所示

List<person> peopleHolder = new ArrayList<person>();
peopleHolder.add(new person());
peopleHolder.add(new person());

现在,列表中有两个人,我们想设置他们的名字。我们可以这样

for (int i=0; i<list.size(); i++){
    list.get(i).setName("newName"+i);//this will set names in format newNameX
}

或使用增强的for循环

int i=0;
for (person p: peopleHolder){
    p.setName("newName" + i++);
}

顺便说一句,您应该坚持使用Java命名约定并使用camelCase样式。类/接口/枚举应以大写字母开头,例如Person,变量/方法名称的第一个标记应以小写字母开头,而其他则以大写字母开头peopleHolder



 类似资料:
  • 问题 你有一个字符串形式的方法名称,想通过它调用某个对象的对应方法。 解决方案 最简单的情况,可以使用 getattr() : import math class Point: def __init__(self, x, y): self.x = x self.y = y def __repr__(self): return 'P

  • 问题内容: 是否可以调用从Freemarker模板获取参数的方法? 我有一个对象模型,试图用Freemarker渲染到网页中。其中一个对象具有一种获取其内容的子列表的方法-采取用于过滤列表的参数: 我知道在JSP中您不能直接执行此操作,但是您可以编写自定义函数来实现所需的结果。您如何在Freemarker中解决此问题?编写自定义函数是否一样?还是有某种实际调用这种功能的方法? 问题答案: Free

  • 问题内容: 我试图通过意图传递对象的ArrayList,但无法使其工作。这是我所拥有的: 在这里收到意向: 我们已经收到了两个int值,correctAnswer和faultAnswers,我可以使用它们。ArrrayList没有通过。endQuiz()方法中没有错误,但’qs = getIntent()。getParcelableArrayListExtra(“ queries”);’ 抛出错误

  • 目前,我有2个对象,我想输入一个新的对象。 我正在寻找一个关于StackOverFlow的解决方案,如下所示:但是,我不明白我的错误。 如何在Java中将对象添加到ArrayList中 下面是我的方法: 我的错误是->main.java:75:错误:找不到符号player.add(name);文字 我不明白我的问题?? 下面是我的方法: 我的类 事先谢谢你的帮助。

  • 我有课 在另一个类中,我从第一个类中获得了一个对象数组 现在我想写一个在第二个数组中查找名称的方法,并为该数组中第一个对象的实例分配一个新值 但我没有得到这个工作。我需要写点什么吗?在set()方法中? 谢谢=)

  • 问题内容: 是否可以通过Java通过引用传递对象 就像在C#中一样 问题答案: 不,这在Java中是不可能的。 在Java中,方法的所有参数均按值传递。注意非原始型的的变量,它们是对对象的引用,也由值来传递:在这种情况下, 参考 是 由值来传递 。请注意,按值传递引用与按引用传递不同。