[JAVA] Die Objekte in der Liste waren Referenzen, richtig? Bestätigung von

Memorandum über die Verarbeitung des Inhalts der Liste

Getestet, weil ich der Meinung war, dass die Objekte in der Liste keine Referenzen waren

Bereiten Sie eine Testklasse vor



public class Test {
	public static void main(String[] args) {
		TestEntity enttity = new TestEntity();
		TestEntity enttity2 = new TestEntity();
		TestEntity enttity3 = new TestEntity();

		ArrayList<TestEntity> list = new ArrayList<>();
		list.add(enttity);
		list.add(enttity2);
		list.add(enttity3);

		showEntityList(list);
	}

	static void showEntityList(ArrayList<TestEntity> list) {
		System.out.println("Sehen Sie sich den Inhalt der Entität an");

		for (TestEntity a : list) {
			System.out.println(a.a);
			System.out.println(a.b);
			System.out.println(a.c);
			System.out.println(a.d);
		}
	}
}

public class TestEntity {
	String a = "Start";
	String b = "b";
	String c = "c";
	String d = "d";

}

Ausführungsergebnis


Sehen Sie sich den Inhalt der Entität an
Start
b
c
d
Start
b
c
d
Start
b
c
d

Wenn Sie den Inhalt des extrahierten Objekts berühren

Bereiten Sie eine Methode vor


	/**
	 *Nehmen Sie einfach die Entität heraus und verarbeiten Sie sie
	 * */
	static void modifyOnly(ArrayList<TestEntity> list) {
		int size = list.size();

		for (int i=0;i<size; i++) {
			TestEntity value = list.get(i);
			value.a = "Hajima reitet(" + i + ")";
			value.b = "2(" + i + ")";
			value.c = "3(" + i + ")";
			value.d = "4(" + i + ")";
		}
	}

Versuchen Sie es mit dem oben genannten


		TestEntity enttity = new TestEntity();
		TestEntity enttity2 = new TestEntity();
		TestEntity enttity3 = new TestEntity();

		ArrayList<TestEntity> list = new ArrayList<>();
		list.add(enttity);
		list.add(enttity2);
		list.add(enttity3);

		modifyOnly(list);
		showEntityList(list);

Ausführungsergebnis


Sehen Sie sich den Inhalt der Entität an
Hajima reitet(0)
2(0)
3(0)
4(0)
Hajima reitet(1)
2(1)
3(1)
4(1)
Hajima reitet(2)
2(2)
3(2)
4(2)

Fazit

Nur das Herausnehmen und Verarbeiten des Inhalts wirkt sich auf den Inhalt der Liste aus.

Es ist seltsam, wenn ich dies bei der Arbeit tun würde, würde es nicht neu geschrieben werden, und wenn ich die neu geschriebene Entität zurücksetze, hat es getan, was ich wollte. Nun, diese Bewegung ist genau das, was ich erwartet habe.

Nun, ich starre auf die Quelle des Arbeitsplatzes.

Nachtrag

Dank @shiracamus habe ich gelernt, wie man die Quelle auf Qiita leichter lesbar macht. Vielen Dank, dass Sie nicht wissen, wie man Qiita vor technischen Angelegenheiten verwendet.

Sie können darauf hinweisen und zusammenführen. Es ist jedoch ein Geheimnis (Schweiß), dass, als ich den Inhalt der Indikation überprüfte, nachdem ich sie von Hand repariert hatte, ohne es zu wissen, sie zu einem zusammengeführten Zustand wurde und im Gegenteil die Korrektur seltsam wurde.

Recommended Posts

Die Objekte in der Liste waren Referenzen, richtig? Bestätigung von
Extrahieren Sie ein bestimmtes Element aus der Liste der Objekte
Ein Programm, das die Anzahl der Wörter in einer Liste zählt
[Java] Löschen Sie die Elemente von List
Geben Sie die Differenz zwischen jedem Feld zweier Objekte in Java aus
Liste der Java-Objekte sortieren
Liste der in Java 9 hinzugefügten Mitglieder
Untersuchen Sie die Liste der Zeitzonen-IDs, die in der Java ZoneId-Klasse verfügbar sind
Liste der in Java 9 hinzugefügten Typen
Reihenfolge der Verarbeitung im Programm
Extrahieren Sie ein bestimmtes Element aus der Liste der Objekte
Bestätigung und Umgestaltung des Flusses von der Anfrage zum Controller in [httpclient]
Holen Sie sich das Ergebnis von POST in Java
Die Identität der Schienenparameter [: id]
Messen Sie einfach die Größe von Java-Objekten
So sortieren Sie eine Liste von SelectItems
Die Geschichte des Schreibens von Java in Emacs
Schreiben Sie die Bewegung von Rakefile in das Runbook
Rufen Sie den in der Controller-Klasse von Spring Boot definierten Pfad als Liste ab
[No.004] Der Bestelllistenbildschirm des Bestellers wurde korrigiert
Die Geschichte des einfachen String-Vergleichs in Java
[Java] Behandlung von Java Beans in der Methodenkette
Liste der im PAIZA D-Rang verwendeten Methoden
Über die Idee anonymer Klassen in Java
Die Geschichte des Lernens von Java in der ersten Programmierung
Messen Sie die Größe eines Ordners mit Java
Spüren Sie den Lauf der Zeit auch in Java
Importieren Sie Dateien derselben Hierarchie in Java