Ich habe mich in letzter Zeit mal ein wenig mit den Enumerations in Java und C# beschäftigt. Dabei ist mir sehr stark aufgefallen, dass die Enumerations in Java sehr viel mächtiger sind als die Enumerations in C#. Nehmen wir folgendes Beispiel welches wir umsetzen möchten.
Wir möchten eine Enum mit verschiedenen Datenbanksystemen erstellen. Dabei sollen z.b. einige Eigenschaften dieses Datenbanksystems ermittelt werden können.
In einer Java Enum ist das relativ einfach zu bewerkstelligen :
public enum DbType {
MYSQL("MySq","9.1"),
MSSQL("Microsoft Sql","8.1"),
ORACLE("Oracle Sq","10.x"),
POSTGREE"Postgree Sq", "4.1");
private final string _fullname;
private final string _version;
private DbType(string fullname, string version)
{
_fullname = fullname;
_version = version;
}
public string getFullname() { return _fullname; }
public string getVersion() { return _version; }
//....
}
// Verwendung der Enum
public static void main(String[] args)
{
DbType db = DbType.MYSQL;
string datenbanksystem = db.getFullname();
//gib z.b. alle Datenbanksysteme in der Enum aus
for (DbType t : DbType.values())
System.out.printf( "Unterstuetze System", t.getFullname() );
}
Deutsch
Englisch

