Minha classe tem um atributo do tipo Date e esse atributo precisa ser passado no construtor, porém quando isso acontece, ele não guarda o valor correto... por que ele aparentemente guarda com gregorian date? Eu não consigo converter de volta.
import java.text.SimpleDateFormat;
import java.util.Date;
public class Jogador {
private int id;
private String nome;
private String apelido;
private Date dataNascimento;
private int numero;
private String posicao;
private int qualidade;
private int cartoesAmarelo;
private int cartaoVermelho;
private Boolean suspenso;
public Jogador() {
}
public Jogador(int id, String nome, String apelido, int ano, int mes, int dia, int numero, String posicao, int qualidade, int cartoesAmarelo, int cartaoVermelho, Boolean suspenso) {
// dataNascimento = new Date(ano, mes, dia);
this.id = id;
this.nome = nome;
this.apelido = apelido;
this.dataNascimento = new Date(ano, mes, dia);
this.numero = numero;
this.posicao = posicao;
this.qualidade = qualidade;
this.cartoesAmarelo = cartoesAmarelo;
this.cartaoVermelho = cartaoVermelho;
this.suspenso = suspenso;
}
public Boolean isApto() {
if (cartoesAmarelo > 2 || cartaoVermelho > 0) {
return false;
}
return true;
}
public void aplicarCartaoAmarelo(int cartao) {
cartoesAmarelo += cartao;
}
public void aplicarCartaoVermelho() {
cartaoVermelho++;
}
public void cumprirSuspensao() {
cartaoVermelho = 0;
cartoesAmarelo = 0;
}
@Override
public String toString() {
String apto;
if(isApto() == true) {
apto = "PODE JOGAR";
} else {
apto = "SUSPENSO";
}
String data = new SimpleDateFormat("yyyy-MM-dd").format(dataNascimento);
return posicao + ": " + numero + " - " + nome + " (" + apelido + ") - " + data + " CONDIÇÃO: " + apto;
}
}