Logo Passei Direto
Buscar
Considere o seguinte código Java: public class Pessoa { private String nome; private int idade; public Pessoa(String nome, int idade) { this.nome = nome; this.idade = idade; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public int getIdade() { return idade; } public void setIdade(int idade) { this.idade = idade; } public static void main(String[] args) { Pessoa pessoa1 = new Pessoa("Alice", 30); Pessoa pessoa2 = new Pessoa("Alice", 30); Pessoa pessoa3 = pessoa1; System.out.println("pessoa1.equals(pessoa2): " + pessoa1.equals(pessoa2)); System.out.println("pessoa1.equals(pessoa3): " + pessoa1.equals(pessoa3)); } } Com base no código acima e levando em consideração que método equals() não foi implementado para comparar se duas instâncias de Pessoa são iguais com base no nome e idade, analise as afirmativas: I. A implementação do método equals() não é recomendada, sendo desnecessária já que toda classe herda esse método da classe Object. II. Ao comparar pessoa1 com pessoa2 utilizando o método equals(), o resultado será true. III. A comparação pessoa1.equals(pessoa3) resultará em false. A Apenas a afirmativa I está correta. B Apenas a afirmativa II está correta. C Apenas a afirmativa III está correta. D Apenas as afirmativas I e II estão corretas. E Apenas as afirmativas I e III estão corretas.
User badge image
marxbruno

ano passado

User badge image
marxbruno

ano passado

Respostas

User badge image

Ed Verified user icon

ano passado

Vamos analisar cada afirmativa: I. A implementação do método equals() não é recomendada, sendo desnecessária já que toda classe herda esse método da classe Object. Falso. Embora toda classe herde o método equals() da classe Object, a implementação padrão compara referências de objetos, o que pode não ser adequado para classes que precisam comparar valores (como nome e idade). Portanto, é recomendável implementar o método equals() para esse tipo de comparação. II. Ao comparar pessoa1 com pessoa2 utilizando o método equals(), o resultado será true. Falso. Como o método equals() não foi implementado, a comparação entre pessoa1 e pessoa2 resultará em false, pois eles são objetos diferentes na memória, mesmo que tenham os mesmos valores. III. A comparação pessoa1.equals(pessoa3) resultará em false. Falso. A comparação pessoa1.equals(pessoa3) resultará em true, pois pessoa3 é uma referência ao mesmo objeto que pessoa1. Com base nas análises, todas as afirmativas estão incorretas. Portanto, não há uma alternativa correta entre as opções apresentadas. Se precisar de mais alguma coisa, é só avisar!

Essa resposta te ajudou?

0
Dislike1
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina