Records
Definição
public record Pessoa (String nome, int idade) {}// criando uma instância do registros
Pessos pessoa = new Pessoa("Alice",30);
// acessando os campos do registro
String nome = pessoa.nome();
int idade = pessoa.idade();
// usando o método gerado automaticamente toString()
System.out.println(pessoa); // saída: Pessoa[nome=Alice, idade=30]import java.util.Objects;
public class Pessoa {
private String nome;
private int idade;
// construtor
public Pessoa(String nome, int idade) {
this.nome = nome;
this.idade = idade;
}
// métodos de acesso para o campo nome
public String getNome() {
return nome;
}
public void setNome() {
this.nome = nome;
}
// métodos de acesso para o campo idade
public int getIdade() {
return idade;
}
public void setIdade() {
this.idade = idade;
}
// método equals para comparar objetos Pessoa
@Override
public boolean equals(Object o) {
if (this == o)
return true;
if ( (o == null) || (getClass() != o.getClass())
return false;
Pessoa pessoa = (Pessoa) o;
return idade == pessoa.idade && Object.equals(nome, pessoa.nome);
}
// método hashCode para gerar um código hash para objetos Pessoa
@Override
public int hashCode() {
return Objects.hash(nome,idade);
}
// método toString para retornar uma representação de string da Pessoa
@Override
public String toString() {
return
String.format("Pessoa{nome=%s,idade=%s}",nome,idade);
}
}Classes vs Records
Tabela Comparativa
Aspecto
Classes
Records
Last updated