Normal
Das Problem ist, dass du eine Instanzvariable `alleTage` mit `EWochentag2.values()` initialisierst. Um die einzelnen Enum Werte zu instanziieren, generiert der Compiler einen static {} Block in die Enum-Klasse, die die einzelnen Enum Werte per `new` instanziiert. Nachdem alle Enum Werte instanziiert wurden, werden sie in ein generiertes VALUES Array geschrieben. Dieses VALUES Array ist jenes, welches die (ebenfalls vom Compiler generierte) Methode `values()` als neue Kopie zurückliefert. Da du aber bereits als Instanzvariable auf das Array zugreifen möchtest, es aber noch nicht existiert (weil es ja gerade gebaut wird), bekommst du die NullPointerException, und weil das Ganze innerhalb der Klasseninitialisierung in dem static {} Block passierte, auch noch einen java.lang.ExceptionInInitializerError.Du kannst das Problem umgehen, indem du dein `alleTage` Array als Klassenvariable und nicht Instanzvariable deklarierst.
Das Problem ist, dass du eine Instanzvariable `alleTage` mit `EWochentag2.values()` initialisierst. Um die einzelnen Enum Werte zu instanziieren, generiert der Compiler einen static {} Block in die Enum-Klasse, die die einzelnen Enum Werte per `new` instanziiert. Nachdem alle Enum Werte instanziiert wurden, werden sie in ein generiertes VALUES Array geschrieben. Dieses VALUES Array ist jenes, welches die (ebenfalls vom Compiler generierte) Methode `values()` als neue Kopie zurückliefert. Da du aber bereits als Instanzvariable auf das Array zugreifen möchtest, es aber noch nicht existiert (weil es ja gerade gebaut wird), bekommst du die NullPointerException, und weil das Ganze innerhalb der Klasseninitialisierung in dem static {} Block passierte, auch noch einen java.lang.ExceptionInInitializerError.
Du kannst das Problem umgehen, indem du dein `alleTage` Array als Klassenvariable und nicht Instanzvariable deklarierst.