我有一個名爲Paragens
這樣的類:的Java看看ArrayList包含字符串
public class Paragens {
static int contadorParagens = 1;
String nomeParagem;
int id;
public Paragens(String nomeParagem) {
this.nomeParagem = nomeParagem;
this.id = contadorParagens++;
}
// getters and setters for nomeParagem
}
每個Paragens對象都有一個名稱和ID。
這個類,我創建幾個Paragens對象,並將它們存儲這樣一個ArrayList內的主要方法:
public static void main(String[] args) {
ArrayList<Paragens> paragens = new ArrayList<Paragens>();
paragens.add(new Paragens("name1");
// ... add more paragens
}
這是工作確定。如果我插入一串白細胞並打印它們,我可以看到達到一切都好。
我想要做的是要求用戶輸入一個paragem名稱,然後我想看看如果該paragem已經在ArrayList中。
String name;
System.out.println("Insert paragem name: ");
pickName = sc.nextLine();
System.out.println(paragens.contains(pickName));
我在做什麼錯?
或覆蓋'equals' –
如果你將它變成了它自己的方法,你可以不用'found'標誌,只需在循環中返回true或者在返回後返回false。 – Thilo
@Anonymouse:不要重寫equals來使Paragem等於一個String。那將是*非常規的(例如,平等將不再是對稱的)。 Equals,hashCode和這些方法是非常通用的,期望遵循某些合同,並且不應該做出意想不到的事情來適應某些特殊的目的。 – Thilo