从Java获取垃圾输出

从Java获取垃圾输出,java,Java,我正试图用Java实现一个构造函数,我不知道我是否做错了什么,但我不断得到垃圾输出 这是我试图为其赋值的变量: private static Employee employee; 这就是我试图分配它的方式: employee = new Employee(empType, empFName, empLName, empBDate, empGender, empHireDate, empReleaseDate, empBaseSalary); 下面是类和构造函数: public class E

我正试图用Java实现一个构造函数,我不知道我是否做错了什么,但我不断得到垃圾输出

这是我试图为其赋值的变量:

private static Employee employee;
这就是我试图分配它的方式:

employee = new Employee(empType, empFName, empLName, empBDate, empGender, empHireDate, empReleaseDate, empBaseSalary);
下面是类和构造函数:

public class Employee {

    private String Type;
    private String FName;
    private String LName;
    private Date BDate;
    private String Gender;
    private Date HireDate;
    private Date ReleaseDate;
    private double BaseSalary;


    public Employee(String type, String fname, String lname, String bdate, String gender, String hire, String release, double salary){


        this.Type = type;
        this.FName = fname.toUpperCase();
        this.LName = lname.toUpperCase();      
        this.BDate = new Date(bdate);       
        this.Gender = gender;
        this.HireDate = new Date(hire);
        if (release == "null"){
            this.ReleaseDate = null;
        }
        else if(release != "null"){
            this.ReleaseDate = new Date(release);
        }
        this.BaseSalary = salary;

    }

}
当我尝试打印时,只是为了测试它,这就是我打印它的方式:

System.out.println(employee);
这就是我每次得到的:

Employee@4c264dd8

有人能告诉我我做错了什么吗?

如果用Java打印对象,它会用十六进制值打印类名

如果你想要你自己的东西,你必须重写toString

public void toString()
{
   //print here  this.Type +":"+   this.FName  for fields you want.
}

如果用Java打印对象,它将用十六进制值打印类名

如果你想要你自己的东西,你必须重写toString

public void toString()
{
   //print here  this.Type +":"+   this.FName  for fields you want.
}

Java不知道如何打印对象,除非您通过实现toString告诉它该做什么。如果不这样做,它将默认获取对象的字符串表示形式。Object.toString返回


这就解释了您看到的输出。

Java不知道您希望对象如何打印,除非您通过实现toString告诉它该怎么做。如果不这样做,它将默认获取对象的字符串表示形式。Object.toString返回


这就解释了您看到的输出。

每个Java对象都有一个toString方法。您必须重写它以获得所需的输出。我相信正在打印对象内存地址的哈希代码

每个Java对象都有一个toString方法。您必须重写它以获得所需的输出。我相信正在打印对象内存地址的哈希代码

从Object.toString文档:

返回对象的字符串表示形式。总的来说 toString方法返回一个字符串,该字符串以文本形式表示 对象结果应该是简洁但信息丰富的表示 这对一个人来说很容易阅读。建议所有 子类重写此方法

类对象的toString方法返回一个字符串,该字符串由 对象作为实例的类的名称,at符号 字符“@”和哈希的无符号十六进制表示形式 对象的代码。换句话说,此方法返回一个等于 价值:

因此,您必须通过以下方式提供自己的toString方法:

@Override
public void toString{return myString;}


从Object.toString文档:

返回对象的字符串表示形式。总的来说 toString方法返回一个字符串,该字符串以文本形式表示 对象结果应该是简洁但信息丰富的表示 这对一个人来说很容易阅读。建议所有 子类重写此方法

类对象的toString方法返回一个字符串,该字符串由 对象作为实例的类的名称,at符号 字符“@”和哈希的无符号十六进制表示形式 对象的代码。换句话说,此方法返回一个等于 价值:

因此,您必须通过以下方式提供自己的toString方法:

@Override
public void toString{return myString;}


如果要以这种方式打印对象,必须重写toString方法。您看到的是toString的默认输出,即对象的类型和哈希代码。这不是垃圾,这是google搜索的对象的标识哈希代码。如果要以这种方式打印对象,必须重写toString方法。你看到的是toString的默认输出,一个对象的类型和哈希代码。这不是垃圾,这是谷歌搜索对象的标识哈希代码。