Ich habe vor kurzem angefangen, Java zu lernen, nachdem ich festgestellt habe, dass Python das von mir erstellte Programm nicht schnell genug ausführen kann.
Meine ArrayList heißt SO und ist voller Objekte der Klasse Organism (diese Klasse hat eine Eigenschaft namens immun). Ich muss die Immunitätseigenschaft meiner Organism-Objekte ändern.
Um in Python auf ein Element einer Liste zu verweisen, würde ich einfach Folgendes verwenden:
SO[index].immunity = AnInteger
aber in Java scheint dies nicht zu funktionieren. Wie mache ich das gleiche in Java?
Antworten:
1 für die Antwort № 1Wenn du einen willst ArrayList
von Organism
class die Art und Weise, wie Sie es definieren, vorausgesetzt, Sie haben tatsächlich eine Klasse Organism
ist:
ArrayList<Organism> organisms = new ArrayList<>();
Dann kannst du add
Organismen zur ArrayList hinzufügen und auf sie zugreifen, indem Sie:
organisms.get(<index>);
woher <index>
ist der Index des Elements in der ArrayList
Um den Wert der Eigenschaft inmunity des Organismus in Index 3 zu ändern, wird angenommen, dass sie öffentlich ist:
organisms.get(3).inmunity = <new value>;
Hinweis: get () ruft nur das Objekt aus der Liste ab. Das ändert nichts. Die Änderung erfolgt, wenn inmunity ein neuer Wert zugewiesen wird.
Die letzte Zeile könnte auch so geschrieben werden:
// Retrieve the object in the list
Organism org = organisms.get(3);
// Change the inmunity value
org.inmunity = <new value>;
Wie @Zabuza in seinen Kommentaren sagt, müssen Sie Folgendes verwenden, wenn Sie den Organismus in der Liste durch eine andere Instanz ersetzen möchten:
organisms.set(3,<another Organism instance>);