static int als case im switch abfragen?
-
Ist vielleicht ne totale Anfängerfrage, aber warum kann ich im switch(int) keine case(static int) abfragen?
Das drum herum sieht so aus:
FTPConnect-Klasse mit Konstruktor(InetAddress host, String username, String password, boolean autoLogon);
FTPListener-Interface mit ftpEventePerformed(FTPEvent e)
FTPEvent-Klasse mit verschiedenen public static int's BSP: public static int READY = 220; (siehe FTP-RFC);im Falle autoLogon = true; bekommt meine FTPConnect klasse einen eigenen Listener der im switch abfragen soll, ob nach Benutzername / Passwort gefragt wurde und ggf. Benutzername / Passwort zurücksenden:
ftpEventPerformed(FTPEvent e){ int cmd = e.getCommand(); switch(cmd){ //compilermeldung: constant expression required(?) case(FTPEvent.READY): sendUsername(username); break; ... }
Danke im Voraus John
-
JohnDoe21 schrieb:
Ist vielleicht ne totale Anfängerfrage, aber warum kann ich im switch(int) keine case(static int) abfragen?
Weil man eben nur Abfragen kann, ob der Wert einer Konstanten entspricht. Ein "static int" ist aber keine Konstante, sondern kann verändert werden. Wenn du ein "static final int" hättest, würde das gehen.
-
Ist mir gerade beim Spülen auch in den Sinn gekommen: Compilermeldungen müsste man lesen können Danke trotzdem