# Enum mit Array



## Glark (5. Jan 2010)

Hallo ich habe ein Problem mit einer Enumeration. Ich würde gerne ein enum mit möglichen Verkaufspackungsdimensionen (Gewicht, Volumen, ect.. ) definieren. Jede Dimension soll auch verschiedene ihre spezifischen Einheiten kenne (Später möchte ich eine Funktion für die Umrechnug implementieren). So wie unten beschrieben (mit nur einem Parameter im Konstruktur funktioniert die Sache auch:

```
public enum PackageDimension
{
	weight("kilogram"), volume("liter");//, area, length, unit, time;
	
	private String[] metrics;
	
	PackageDimension(String[] metrics){
		this.metrics = metrics;
	}
	
	PackageDimension(String metric){
		this.metrics = new String[1];
		this.metrics[0] = metric;
	}
}
```

Allerdings bekomme ich eine fehler wenn ich im Konstruktor ein Array übergeben will:

```
public enum PackageDimension
{
	weight("kilogram"), volume({"liter","cubic meter"});//, area, length, unit, time;
	
	private String[] metrics;
	
	PackageDimension(String[] metrics){
		this.metrics = metrics;
	}
	
	PackageDimension(String metric){
		this.metrics = new String[1];
		this.metrics[0] = metric;
	}
}
```

In Zeile 3 wird dann ein Fehler an der schließenden gescheiften Klammer des Arrays angezeigt:

Multiple markers at this line
	- Syntax error on token ",", @ expected after this 
	 token
	- Syntax error, insert "Identifier" to complete 
	 EnumConstant

Kann mir jemand erklären was ich falsch mache? - ich weiß leider nicht mehr weiter. Googel und die Forumsuchfunktion konnten mir nicht helfen.

Gruß und Danke für eure Antworten


----------



## Schandro (5. Jan 2010)

Syntaxfehler, so muss es sein:

```
weight("kilogram"), volume(new String[]{"liter","cubic meter"});
```


----------



## Landei (6. Jan 2010)

Oder etwas eleganter mit Varargs:

```
public enum PackageDimension {

    weight("kilogram"), volume("liter","cubic meter"); //, area, length, unit, time;
    
    private String[] metrics;
    
    PackageDimension(String ... metrics){
        this.metrics = metrics;
    }

}
```


----------



## Glark (6. Jan 2010)

vielen Dank für die raschen Antworten hat mir sehr geholfen - funzzt jetzt alles


----------

