Ho un valore stringa, ho anche un array di stringhe e un enum che contiene anche l'intervallo. per ottenere l'indice della stringa nella matrice, dal valore fornito scrivo questo:Ottieni l'indice di enum dalla stringa?
Arrays.asList(myClass.BAUD_RATES).indexOf(username)
come faccio a fare questo per un enum? Posso usare ordinale? O devo fare il mio metodo?
Il metodo potrebbe andare così:
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;
}
...
}
Grazie per tutto il risponde ragazzi, tutti funzionano, a quanto pare non era un mio problema. Il problema era che se cerco la libreria, per esempio 9600 nella serie di stringhe, funziona perfettamente. Ma quando stavo cercando lo stesso valore nell'enum diceva che non era un valore nell'enumerazione. 03-15 16: 04: 19.925: E/AndroidRuntime (19719): Causato da: java.lang.IllegalArgumentException: 19200 non è una costante in slickdevlabs.apps.usb2seriallib.SlickUSB2Serial $ BaudRate, quindi userò semplicemente l'array di stringhe. .. Non ho idea del perché questo è il caso. Fortunatamente la libreria ha fornito anche una serie di stringhe. – Paul