从Java获取垃圾输出
我正试图用Java实现一个构造函数,我不知道我是否做错了什么,但我不断得到垃圾输出 这是我试图为其赋值的变量:从Java获取垃圾输出,java,Java,我正试图用Java实现一个构造函数,我不知道我是否做错了什么,但我不断得到垃圾输出 这是我试图为其赋值的变量: private static Employee employee; 这就是我试图分配它的方式: employee = new Employee(empType, empFName, empLName, empBDate, empGender, empHireDate, empReleaseDate, empBaseSalary); 下面是类和构造函数: public class E
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的默认输出,一个对象的类型和哈希代码。这不是垃圾,这是谷歌搜索对象的标识哈希代码。