Logo Passei Direto
Buscar
Ler em voz alta 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 true. 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
Marcio Alpinista

há 5 meses

Respostas

User badge image

Ed Verified user icon

há 5 meses

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 de atributos. Portanto, é recomendável implementar o método equals() para comparar as instâncias de forma significativa. 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 (mesmo que tenham os mesmos valores para nome e idade). III. A comparação pessoa1.equals(pessoa3) resultará em true. Verdadeiro. Como pessoa3 é uma referência ao mesmo objeto que pessoa1, a comparação resultará em true, pois ambos referenciam o mesmo objeto na memória. Com base nas análises, apenas a afirmativa III está correta. Portanto, a alternativa correta é: C) Apenas a afirmativa III está correta.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

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

Mais conteúdos dessa disciplina