我有一個ArrayList
ordineDopoModificaArrayList.contains()方法不起作用
public static ArrayList<Persona> ordineDopoModifica = new ArrayList<Persona>();
這是假面類:
class Persona {
public String nome;
public String prezzo;
public String ingredienti;
public String codp;
public byte[] immagine;}
現在我想說,如果INT包含在ordineDopoModifica .. 。
這就是我現在做的事:
boolean c=sceltacibo.ordineDopoModifica.contains(chiave);
這裏是我重寫equals方法:
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj instanceof Persona) {
Persona p = (Persona) obj;
return codp.equals(p.codp);
}
else return false;
}
但boolean c=sceltacibo.ordineDopoModifica.contains(chiave);
不工作 - 它始終返回false,即使我敢肯定chiave
在ArrayList
。
顯示不起作用的完整示例。 – assylias
你重寫hashCode()嗎?因爲你應該 –
我很確定'包含'工作...檢查你的'等' – NilsH