Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.
Löschen von Elementen in einem Array?
Es geht um die Programmiersprache Java....
Ich habe einen Array in dem ich Objekte speichere:
Cell [] test = new Cell [10];
test [1] = new Cell (1,1,true);
System.out.print(test[1]);
Wenn ich nun meinen Array auf null setze:
test = null;
.. Werden dann die dort befindlichen Objekte auch gelöscht?
Anmerkung: Cell ist eine Klasse. Und in dem Array findet sich lauter Cell Objekte.....
3 Antworten
- vor 1 JahrzehntBeste Antwort
In Java, wie auch unter .NET wird Spaicher, der nicht mehr referenziert wird von der Garbage-Collection freigegeben. Wenn du also keine andere Variable hast, die exakt dieselben Objekte referenziert, werden die Objekte wahrscheinlich nach ein paar Millisekunden von der Garbage-Collection entsorgt. Unter .NET kann man auch das Interface IDisposable impllementieren, ich weiss aber net ob es sowas auch in java gibt.
Wenn du noch weitere Informationen lieferst, warum du wissen musst, ob die Objekte zerstört werden, dann kann ich dir sicher auch genaueres sagen.
Paul
- Anonymvor 1 Jahrzehnt
na ja probiers doch einfach aus, was passiert denn, wenn du nach
test=null; System.out.println(test[1]); eingibst. Tipp: NullPointerException bedeutet du greifst auf eine Referenz zu, die zu keinem Object führt.
Zwei grooooose Vorteile von Java: Zeiger gibts in Java nicht und der Garbage Collector
löscht vollautomatisch alle Objecte auf die es keine Referenz mehr gibt.
- vor 1 Jahrzehnt
Nunja bei Java weià nicht so genau aber du lehrst ja nicht den Speicher sondern nur den Verweis daruf (interessiert aber erst bei Klassenprogrammierung und Zeigern usw.) Also müsste der Inhalt noch im Speicher sein. Oeder was macht eigentlich die Cell-Funktion. Ist das deine eigene oder ne fertige Funktion?