【发布时间】:2018-04-18 21:21:51
【问题描述】:
ArrayList listaTesti 被定义为全局变量
cambiaValore 函数从文本字段中获取 2 个字符串
find 函数从 textField 中获取 2 个字符串,它应该将所有出现的“testoDaModificare”替换为“conCheParola” 我已经包含了 String.toLowerCase,所以,如果用户插入一个大写的值,没关系。
如果我不写“string.toLowerCase”它可以工作,但是如果用户在没有大写值的情况下输入了一个大写值,那么该函数将不起作用。
private void cambiaValore(String testoDaModificare, String conCheParola)
{
ArrayList <String> appoggio = cerca(testoDaModificare, conCheParola);
int i = 0;
listaTesti.removeAll(listaTesti); //Rimuovo tutti gli elementi della lista
for (String string : appoggio) //E li ri assegno utilizzando quelli modificati
{
String temp = appoggio.get(i);
listaTesti.add(temp);
i++;
}
}
private ArrayList <String> cerca(String testoDaCambiare,String conCheParola)
{
int i = 0;
ArrayList <String> appoggio = new ArrayList();
for(String testo : listaTesti)
{
if(listaTesti.get(i).toLowerCase().contains(testoDaCambiare.toLowerCase()))
{
String testo3 = listaTesti.get(i).replaceAll(testoDaCambiare.toLowerCase(), conCheParola);
appoggio.add(testo3);
i++;
}
else
{
appoggio.add(listaTesti.get(i));
i++;
}
}
return appoggio;
}
【问题讨论】: