Aloha, ich steh grade im Zwiespalt,
zzt. nutze ich zum handhaben von Festen Werten eine Konstantensammlung welche ich über einen Statischen Import anspreche
Jetzt habe ich allerdings gelesen ( Der Weg zum Java Profi - M.Inden ) das dies als unsauber bzw. weniger elegant ist, als ein Enum für Konstanten zu verwenden.
einerseits könnte ich auf die Statischen Importe verzichten , andererseits muss ich dann folgendes in der Verwendung beachten
mit Konstanten :
mit Enum :
Schöner find ich vom Aufbau her aber irgendwie die Konstantensammlung , wie seht ihr das ?
zzt. nutze ich zum handhaben von Festen Werten eine Konstantensammlung welche ich über einen Statischen Import anspreche
Java:
public class Constants {
public final static String APP_TITLE = "Rechnungs Editor v1.0";
public final static String MENUBAR_FILE = " Datei ";
public final static String MENUBAR_EDIT = " Bearbeiten ";
public final static String MENUBAR_OPTION = " Einstellungen ";
public final static String MENUBAR_SEARCH = " Suchen ";
public final static String MENUBAR_WINDOW = " Fenster ";
public final static String MENUBAR_HELP = " Hilfe ";
public final static int SCREEN_WIDTH = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
public final static int SCREEN_HEIGHT = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
}
Jetzt habe ich allerdings gelesen ( Der Weg zum Java Profi - M.Inden ) das dies als unsauber bzw. weniger elegant ist, als ein Enum für Konstanten zu verwenden.
Java:
public enum Constant {
APP_TITLE("Beispiel Applikation");
private Constant(final String value){
this.value = value;
}
final String value;
public String getValue(){
return this.value;
}
}
einerseits könnte ich auf die Statischen Importe verzichten , andererseits muss ich dann folgendes in der Verwendung beachten
mit Konstanten :
Java:
JFrame frame = new JFrame(APP_TITLE);
mit Enum :
Java:
JFrame frame = new JFrame(Constant.APP_TITLE.getValue());
Schöner find ich vom Aufbau her aber irgendwie die Konstantensammlung , wie seht ihr das ?
Zuletzt bearbeitet: