我用构造函数上了课:

public Dane(String Imie, String Nazwisko, String nrTelefonu, int licznik)
 {
    this.id.Imie = Imie;
    this.id.Nazwisko = Nazwisko;
    this.id.nrTelefonu = nrTelefonu;
    this.id.licznik = licznik;

}


以及这些对象的ArrayList ...

 static List<Dane> listaOsob = new ArrayList<Dane>();


此刻,我正在使用以下内容进行搜索:

for(int i=0;i<listaOsob.size();i++)
                    {
                        if ((listaOsob.get(i).id.Imie).equals("Krzysiek"))
                            {
                                listaOsob.get(i).opis();
                            }
                    }


所以...我知道当有人给我全名,姓氏或电话号码时如何搜索...但是我希望它总是这样搜索:

输入文字进行搜索:
克尔兹

所以它会发现
Krzysztof Marecki 700700700
Krzysiek Fraczak 500500500'



我怎样才能做到这一点?

最佳答案

    Dane d = listaOsob.get(i)
    if(d.id.Imie.contains(searchTxt) || d.id.Nazwisko.contains(searchTxt) ||
        nrTelefonu.contains(searchTxt)|| licznik.toSring().contains(searchTxt)){
        listaOsob.get(i).opis();
    }


或者,您可以为Dane类编写toString方法,然后进行如下测试:

Dane d = listaOsob.get(i)
d.toString().contains(searchTxt)

07-25 23:22