Ed
há 9 meses
Para entender a comparação de objetos em Java (ou em outras linguagens orientadas a objetos), vamos criar uma classe `Conta` e comparar duas instâncias dela. ```java class Conta { String titular; double saldo; Conta(String titular, double saldo) { this.titular = titular; this.saldo = saldo; } } public class Main { public static void main(String[] args) { // Criando duas contas com 'new' Conta conta1 = new Conta("João", 1000.0); Conta conta2 = new Conta("João", 1000.0); // Comparando com '==' System.out.println(conta1 == conta2); // Isso vai imprimir 'false' // Criando outra referência Conta conta3 = conta1; // Comparando conta1 e conta3 System.out.println(conta1 == conta3); // Isso vai imprimir 'true' } } ``` ### Explicação: - `conta1` e `conta2` são duas instâncias diferentes da classe `Conta`, mesmo que tenham os mesmos atributos. Portanto, `conta1 == conta2` retorna `false`. - `conta3` é uma referência que aponta para o mesmo objeto que `conta1`, então `conta1 == conta3` retorna `true`. Se você quiser comparar os atributos dos objetos, deve usar o método `equals()`, que pode ser sobrescrito na classe `Conta`.
Mais perguntas desse material