簡體   English   中英

ArrayList.contains()方法不起作用

[英]ArrayList.contains() method not work

我有一個ArrayList ordineDopoModifica

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;}

現在我想說說ordineDopoModifica中是否包含int ...

這就是我現在要做的:

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); 不起作用-即使我確定chiaveArrayList ,它也始終返回false。

現在我想說一下我的arrayList ordineDopoModifica中是否包含int ...

您正在檢查ArrayList<Persona> ordineDopoModifica包含int 它沒有,它僅包含Persona對象,因此它始終返回false。

更確切地說, equals(Object obj)在這里將失敗:

if (obj instanceof Persona) {
    Persona p = (Persona) obj;
    return codp.equals(p.codp);
} else 
    return false;

這是因為Integer不是Persona的實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM