Dúvida programa que lembra o googleGroups

Considere a implementação de um sistema que lembra o“Grupos do Google”. Neste sistema é possível criar grupos,
adicionar contatos aos grupos e enviar mensagens para oscontatos cadastrados. A seguir é requisitada a implementação das partes essenciais destesistema.

Implemente em Java a classe concreta Contato que possui dois atributosdo tipo String: um que representa o nome e outro que representa o email do contato. Esta classe deve conter quatro métodos:

1- um método construtor que inicializa os atributos;

2- dois métodos get (um para cada atributo)

3- um método public boolean equals(Object obj) são considerados iguais
objetos do tipo contato que possuem o mesmo email.

eu não entendi esse item 3, alguém poderia me explicar? a classe Object não é supertipo de todas as classes? fiquei perdido

O que provavelmente seu professor quer é que você sobrescreva o método equals e que implemente a verificação de email para determinar a igualdade de usuários.

Na dúvida leia: https://medium.com/@angeliski/equals-e-hashcode-o-que-é-porque-usar-e-como-implementar-1ee70fa67396

Bons estudos :wink:

fiz dessa forma, está correto?

	public boolean equals(Object obj) {
	if(!(obj instanceof Contato))
		return false;
	
	Contato outro = (Contato)obj;
	
	if(this.email.equals(outro.email)) {
		return true;
	}
	return false;
}

Teste. Crie 2 usuário com todas as outras informações diferentes, menos o e-mail e veja se o equals entre eles retorna true. Depois iguala todos os outros atributos e deixa apenas o e-mail diferente e veja se o equals retorna false. Se sim para as 2, está certo. Se não, vá debugando linha a linha e veja onde sua lógica pode ter quebrado. :wink:

ah sim eu fiz e deu certo perguntei se era essa resolução que a questão teria e se teria outra resolução para esse problema.