Estou com dificuldade no uso do toString()
e criei uma classe Usuario
com dois atributos, String nome
e SimpleDateFormat dataNasc
, fiz o método toString()
e ele só funcionou para o atributo nome, para a data ele imprime a referência apenas. segue abaixo o código e a saída no console
, exemplo:
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Usuario felipe = new Usuario();
Scanner scan = new Scanner(System.in);
System.out.println("Informe a data no formato: dd/mm/aaaa");
SimpleDateFormat data = new SimpleDateFormat(scan.nextLine());
felipe.setDataNasc(data);
System.out.println("Informe o nome:");
felipe.setNome(scan.nextLine());
System.out.println("RESULTADO:");
System.out.println(felipe);
scan.close();
}
}
---------------------------------------------
import java.text.SimpleDateFormat;
public class Usuario {
private String nome;
private SimpleDateFormat dataNasc;
public Usuario() {
}
public Usuario(String nome, SimpleDateFormat data) {
this.nome = nome;
this.dataNasc = data;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public SimpleDateFormat getDataNasc() {
return dataNasc;
}
public void setDataNasc(SimpleDateFormat dataNasc) {
this.dataNasc = dataNasc;
}
@Override
public String toString() {
return "Nome: " + this.nome + ", data de nascimento: " + this.dataNasc;
}
}
Saída (Console)
Informe a data no formato: dd/mm/aaaa
21/03/1984
Informe o nome:
Felipe
RESULTADO:
Nome: Felipe, data de nascimento: java.text.SimpleDateFormat@6ea84be0