was didjitalist beschreibt ist die Unveränderlichkeit, immutability,
ein wichtiges Konzept, besonders für Strings aber auch alle Enums
edit: na doch auch bisschen was anderes, die Abgeschlossenheit der Enum-Werte-Menge
spätes edit: ach, noch falscher von mir, die Enums sind ja in sich gar nicht mal unveränderlich,
wenn es set-Methoden gibt, dann kann man deren interen Zustand ja ändern,
aber eben nicht die Menge der Objekte selber
---------
Typsicherheit bedeutet vor allem, dass der Typ genau festgelegt ist,
vor Enums hatte man statische Variablen:
public static final int JA = 0;
public static final int NEIN = 1;
public static final int VIELLEICHT = 2;
public static final int WEISS_NICHT = 3;
public static final int AUSSAGE_VERWEIGERT = 4;
public static final int ROT = 0;
public static final int GRUEN = 1;
public static final int BLAU = 2;
einer Methode
public void beantworteKritischeFrage(int x) {
}
sollte man nun einen der Werte JA bis AUSSAGE_VERWEIGERT übergeben,
da der Parameter-Typ aber nur ein normaler int ist, kann es auch eine der Farbkonstanten sein oder ein beliebiger int-Wert wie 4597689
wenn man nun eine Enum definiert und der Parameter ein Enum-Typ ist,
kann man nur einen korrekten Enum-Wert oder null übergeben,
Typsicherheit verhindert alle anderen Fehlangaben