È possibile utilizzare StringUtils classe di librerie di Apache Commons o this Se non si desidera per scaricare la libreria, guarda su source code per la logica per creare il metodo. Il collegamento stackoverflow per l'utilizzo di StringUtils
Se si vuole trovare l'indice della stringa da array di stringhe poi c'è un'altra libreria ArrayUtils che ha un metodo indexOf
Ecco l'implementazione di indexOf
public static int indexOf(Object[] array, Object objectToFind, int startIndex) {
if (array == null) {
return INDEX_NOT_FOUND;
}
if (startIndex < 0) {
startIndex = 0;
}
if (objectToFind == null) {
for (int i = startIndex; i < array.length; i++) {
if (array[i] == null) {
return i;
}
}
} else {
for (int i = startIndex; i < array.length; i++) {
if (objectToFind.equals(array[i])) {
return i;
}
}
}
return INDEX_NOT_FOUND;
}
dal momento che puoi vedere che utilizza .equals() Ti suggerisco di
1) creare una classe di stringa personalizzata
2) aggiungere alla matrice
3) sostituire il metodo .equals simili
class StringCustom
{
String string;
//implement getters and setters
public String equals(Object o)
{
return this.getString().equalsIgnoreCase(((String)o).getString());
}
}
fonte
2012-12-11 10:06:18
Anche se cambio la stringa in textBox in maiuscolo/minuscolo, non so come sia nell'array dato. –
Inoltre le stringhe nell'array vengono utilizzate come AutoCompleti. Quindi non posso convertirli in maiuscolo/minuscolo (non sembra buono nel menu a discesa). Può essere necessario creare una nuova matrice con tutte le stringhe come maiuscole/minuscole.Ma non è l'approccio migliore –
Penso che sarebbe meglio, le prestazioni sarebbero 'O (n)' –