# String to Enum



## lernen.2007 (3. Januar 2006)

Gibt es überhaupt eine Möglichkeit eine Stringvariable in Enum umzuwandeln?

 Danke
 erkan


----------



## RedWing (3. Januar 2006)

Hallo,
so würde es gehen:

```
class EnumToStringConvertTest{
    enum farben{BLAU, GRUEN};
    public static void main(String[] args){
        farben t = farben.BLAU;
        String s = t.toString();
        System.out.println(s);
    }
}
```

Siehe auch:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Enum.html

Gruß

RedWing


----------



## lernen.2007 (3. Januar 2006)

Vielen Dank.


----------



## RedWing (3. Januar 2006)

Hallo ich glaube ich hatte dich missverstanden 

Du meintest String -> enum 

Die lösung von mir ist enum -> String was ja trivial ist 

Hier nochmal diesmal von String -> enum :


```
class StringToEnumConverter{
    enum farben{BLAU, GRUEN};
    public static void main(String[] args){
        farben t = farben.GRUEN;
        t = Enum.valueOf(t.getDeclaringClass(), "BLAU");
    }
}
```

Sorry dafür


//Wenns dann erledigt sein sollte mach ein Haken ans Thema. Danke
Gruß

RedWing


----------



## Thomas Darimont (3. Januar 2006)

Hallo!

 Schau mla hier:

```
/**
  * 
  */
 package de.tutorials;
 
 /**
  * @author Tom
  * 
  */
 public class EnumExample {
 
 	private enum Color {
 		RED, GREEN, BLUE
 	};
 
 	/**
 	 * @param args
 	 */
 	public static void main(String[] args) {
 		for (Color c : Color.values()){
 			System.out.println(c);
 		}
 		
 		Color color = Color.valueOf("RED");
 		System.out.println(color);
 	}
 }
```
 
 Gruß Tom


----------



## RedWing (3. Januar 2006)

lol doch so einfach 

Woher kommt das ?.valueOf(String) eigentlich? 
Das hab ich mich bei der length eines Arraytypen auch schon immer gefragt.

Gruß

RedWing


----------



## Thomas Darimont (3. Januar 2006)

Hallo!

 Aus:

```
private enum Color {
 		 RED, GREEN, BLUE
 	 };
```
 
 Erzeugt der Java Compiler:

```
// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 03.01.2006 20:44:00
 // Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
 // Decompiler options: packimports(3) 
 // Source File Name:   EnumExample.java
 
 package de.tutorials;
 
 
 // Referenced classes of package de.tutorials:
 //			EnumExample
 
 private static final class EnumExample$Color extends Enum
 {
 
 	public static final EnumExample$Color[] values()
 	{
 		EnumExample$Color aenumexample$color[];
 		int i;
 		EnumExample$Color aenumexample$color1[];
 	    System.arraycopy(aenumexample$color = ENUM$VALUES, 0, aenumexample$color1 = new EnumExample$Color[i = aenumexample$color.length], 0, i);
 		return aenumexample$color1;
 	}
 
 	public static final EnumExample$Color valueOf(String s)
 	{
 		EnumExample$Color aenumexample$color[];
 		EnumExample$Color enumexample$color;
 		for(int i = (aenumexample$color = ENUM$VALUES).length; --i >= 0;)
 		    if(s.equals((enumexample$color = aenumexample$color[i]).name()))
 				return enumexample$color;
 
 		throw new IllegalArgumentException(s);
 	}
 
 	public static final EnumExample$Color RED;
 	public static final EnumExample$Color GREEN;
 	public static final EnumExample$Color BLUE;
 	private static final EnumExample$Color ENUM$VALUES[];
 
 	static 
 	{
 		RED = new EnumExample$Color("RED", 0);
 		GREEN = new EnumExample$Color("GREEN", 1);
 		BLUE = new EnumExample$Color("BLUE", 2);
 		ENUM$VALUES = (new EnumExample$Color[] {
 			RED, GREEN, BLUE
 		});
 	}
 
 	EnumExample$Color(String s, int i)
 	{
 		super(s, i);
 	}
 }
```
 
 Gruß Tom


----------



## RedWing (3. Januar 2006)

Ahja. Danke für die Aufklärung.
Wieder was dazugelernt


----------

