Filipe_Chagas
Você implementou o método equals na classe Funcionario?
robson1
opa Filipe,
implementei assim
public class Funcionario implements Comparable<Funcionario>{
private String nome;
private String sobrenome;
public Funcionario(){
this(null,null);
}
public Funcionario(String nome,String sobrenome){
super();
this.nome = nome;
this.sobrenome = sobrenome;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSobrenome() {
return sobrenome;
}
public void setSobrenome(String sobrenome) {
this.sobrenome = sobrenome;
}
public String toString(){
return(""+nome+""+sobrenome);
}
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof Funcionario))
return false;
Funcionario other = (Funcionario) obj;
if (nome == null&&sobrenome==null) {
if (other.nome != null&&other.sobrenome!=null)
return false;
} else if (!nome.equals(other.nome)&&!sobrenome.equals(other.sobrenome))
return false;
return true;
}
@Override
public int compareTo(Funcionario obj) {
if(obj instanceof Funcionario){
Funcionario a = (Funcionario) obj;
if(nome==a.nome&&sobrenome==a.sobrenome)
return 0;
}
return 0;
}
}
danieldomingues86
Olá,
Use:if (f.equals(ifu.next()))
Abraços
Daniel.
robson1
ah consegui:)
public void encontrarFuncionario(Funcionario f){
Iterator<Funcionario> ifu = aFuncionarios.iterator();
while(ifu.hasNext()){
Funcionario funcionarioDaVez = ifu.next();
if(f.getNome().equals(funcionarioDaVez.getNome())&&f.getSobrenome().equals(funcionarioDaVez.getSobrenome())){
System.out.println("Achou: "+f);
}
}}
S4M4R0N3
Amigo, tudo bem que conseguiu. Mas esta meio fora do padráo. Faça como danieldomingues86 falou.
E outro coisa: que implementação é essa do compareTo?
Você já recebeu um tipo funcionario e ainda testou, e depois fez um cast?
Qual era o seu objetivo?
Abraço
Kanin_Dragon
Jovem,
Parabéns pela resolução do problema, agora coloque um [Resolvido] no título do tópico Ok.
Abs,