Ich habe kürzlich ein neues Projekt gestartet und versuche, meine Instanzvariablen immer auf einen Wert zu initialisieren, so dass keiner von ihnen zu irgendeinem Zeitpunkt null ist. Kleines Beispiel unten:Sollte ich Instanzvariablen in Java immer initialisiert halten oder nicht?
public class ItemManager {
ItemMaster itemMaster;
List<ItemComponentManager> components;
ItemManager() {
itemMaster = new ItemMaster();
components = new ArrayList<ItemComponentManager>();
}
...
}
Der Punkt in erster Linie ist die langwierige Prüfung für null, bevor Sie eine Instanz Variable irgendwo im Code zu vermeiden. Bis jetzt funktioniert es gut und Sie brauchen meistens nicht Null-Wert, wie Sie auch für leere Zeichenfolge oder leere Liste, etc. überprüfen können. Ich verwende diesen Ansatz für Method-Scoped-Variablen nicht, da ihr Umfang sehr begrenzt ist und wirkt sich daher nicht auf andere Teile des Codes aus.
Das alles ist irgendwie experimentell, also würde ich gerne wissen, ob dieser Ansatz funktionieren könnte oder ob es einige Fallstricke gibt, die ich noch nicht sehe. Ist es generell eine gute Idee, Instanzvariablen initialisiert zu halten?
Erstellen Sie niemals eine leere ArrayList, nur um sie später wegzuwerfen. Verwenden Sie immer eine der Methoden in der Collections-Klasse, um eine leere, unveränderbare Auflistung abzurufen. –
Danke für die Antworten bisher, habe ein paar wertvolle Beiträge erhalten. – MicSim