文字列からEnum

文字列から特定のオブジェクトを取得するのに、Mapもよくある手段だが、
コンパイル段階から決まってる固定のものを取得するのに、enum が便利。
こういう視点を忘れないようにしたいものだ。

valueOf("enumを示す文字列") -> enum

実際コードもたいしたものでもない。cheap なんだろうけど。

DB検索結果や通信結果から、特定するオブジェクトの実行に応用する場面もあるだろう。
===サンプル===
   public static void main(String[] args) throws InstantiationException, IllegalAccessException{
      COLOR c = COLOR.valueOf("RED");
      System.out.println(c.name());
      Class<? extends Colorpaper> cls = c.getPoint();
      Colorpaper cc = cls.newInstance();
      System.out.println(cc.getColor());
   }
   static enum COLOR{
      RED(Redpaper.class),
      BLUE(Bluepaper.class),
      GREEN(Greenpaper.class);
      //
      private Class<? extends Colorpaper> cls;
      private COLOR(Class<? extends Colorpaper> cls){
         this.cls = cls;
      }
      public Class<? extends Colorpaper> getPoint(){
         return this.cls;
      }
   }
-----------------
public interface Colorpaper{
   public String getColor();
}
-----------------
public class Redpaper implements Colorpaper{
   @Override
   public String getColor(){
      return "Red";
   }
}