Ciao ho un problema: ho un un arraylist che contiene diversi ogetti...ora voglio verificare la presenza o meno di una stringa:
ridefinisco equals():
codice:
class Test{
String f;
Test(String d){
this.f=d;
}
public boolean equals (Object x) {
boolean g=false;
if(x instanceof Test){
return true;
}
Test p = (Test) x;
return p.f.equals(this.f);
}
}
codice:
import java.util.*;
class Prova{
ArrayList<Test>a;
String s;
Prova(String t){
this.s=t;
a=new ArrayList<Test>();
}
public int getNumstringa(String u){
Test x=new Test(u);
int count=0;
if(a.contains(x)){
count++;
}
return count;
}
public static void main(String args[]){
Test i=new Test("ok");
Prova u=new Prova("bbbb");
System.out.println(u.getNumstringa("ok"));
}
}
Contains dovrebbe confrontare oggetti equals..giusto?Perchè il compilatore mi stampa sempre 0?