我最近开始学习Java后发现Python无法运行我正在快速构建的程序。
我的ArrayList被称为SO,它充满了类Organism的对象(这个类有一个名为immunity的属性)。我需要更改我的Organism对象的免疫属性。
在Python中,要引用列表的元素,我只需使用:
SO[index].immunity = AnInteger
但在Java中这似乎不起作用。如何在java中做同样的事情?
答案 0 :(得分:1)
如果您想要ArrayList
Organism
类来定义它,假设您实际上有一个类Organism
:
ArrayList<Organism> organisms = new ArrayList<>();
然后你可以add
生物到ArrayList,并访问它们:
organisms.get(<index>);
其中<index>
是ArrayList
要更改索引3中有机体的inmunity属性的值,假设它是公共的,将会完成:
organisms.get(3).inmunity = <new value>;
注意: get()仅从列表中检索objec。绝不会改变任何东西。当为社区分配新值时,就会发生这种变化。
最后一行也可以这样写:
// Retrieve the object in the list
Organism org = organisms.get(3);
// Change the inmunity value
org.inmunity = <new value>;
正如@Zabuza在评论中所说,如果你需要用不同的实例替换列表中的有机体,你必须使用:
organisms.set(3,<another Organism instance>);