Obtener el índice de enum de cadena?

Tengo un valor de cadena, también tengo una matriz de cadenas y un enum que contiene el rango también. Para obtener el índice de la cadena en la matriz, del valor suministrado escribo esto:

Arrays.asList(myClass.BAUD_RATES).indexOf(username) 

¿Cómo hago esto para un enum? ¿Puedo usar ordinal? ¿O tengo que hacer mi propio método?

El método podría ser como:

 public enum Fruit { ... static public boolean isMember(String aName) { Fruit[] aFruits = Fruit.values(); for (Fruit aFruit : aFruits) if (aFruit.fruitname.equals(aName)) return aFruit; return false; } ... } 

No estoy seguro si te entiendo correctamente, pero quizás estás buscando

 YourEnum.valueOf("VALUE").ordinal(); 
  • YourEnum.valueOf("VALUE") devuelve valor enum con nombre VALUE
  • Y cada valor enum conoce su posición (indexada desde cero) que podemos ver usando el método ordinal() .

Puede que no entienda su pregunta, pero el mismo código funciona para los enums también:

 int index = Arrays.asList(YourEnum.values()).indexOf(YourEnum.ENUM_ITEM); 

O usted puede conseguir:

 int index = YourEnum.valueOf("ENUM_ITEM").ordinal(); 

Si desea recuperar el índice, puede utilizar ordinal. Si desea asignar un valor específico a String, puede definir su propio método para recuperarlo.

  enum DAY { MONDAY(10), TUESDAY(20); int value; DAY(int x) { this.value = x; } public int getValue() { return value; } 

Ahora valor y ordinal se puede recuperar como:

  for(DAY s : DAY.values() ) { System.out.println(s.ordinal()); System.out.println(s.getValue()); } 

Pruebe esta sencilla solución:

 Fruit.values()[index] 

La siguiente lógica también funcionará.

Si quieres comprobar y ya sabes el nombre del fruto ya no lo usas para ir de bucle con el enfoque mencionado por Pshemo

 for (Fruit aFruit : aFruits) if (aFruit.name().equals(aName)) return aFruit.ordinal(); 
  • Uso de Observable en Android
  • Forzar dirección de texto para LeadingMarginSpan2
  • : App: dexDebug ExecException terminado con un valor de salida diferente de cero 2
  • Problemas con https (sin certificado de igual) en android
  • Cómo recuperar y modificar el contenido HTML de WebView con Http Post
  • Llenado de ListView en widget de pantalla de inicio en Android
  • Cola sin bloqueo de solicitudes HTTP POST con persistencia
  • Archivo binario línea # 7: Debe proporcionar un atributo layout_width
  • ¿Cómo usar WeakReference en el desarrollo de Java y Android?
  • Quitar TabIndicator de PagerTabStrip en un ViewPager
  • Emulador de emparejamiento de par con emulador de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.