Java 打印作为对象的树映射值
我正在尝试打印一个带有整数键和雇员值的树状图。每个Employee对象都应该包含一个(字符串)姓、一个(字符串)名、一个(整数)ID和一个(字符串)绩效等级。我已经下课了。但是,我的输出以值作为位置 Map(Integer,Employee)e=newtreemap(Integer,Employee)()Java 打印作为对象的树映射值,java,object,printing,map,treemap,Java,Object,Printing,Map,Treemap,我正在尝试打印一个带有整数键和雇员值的树状图。每个Employee对象都应该包含一个(字符串)姓、一个(字符串)名、一个(整数)ID和一个(字符串)绩效等级。我已经下课了。但是,我的输出以值作为位置 Map(Integer,Employee)e=newtreemap(Integer,Employee)() Employee e1=新员工(“小狗”,“阮”,新整数(345),“4”); e、 put(e1.getID(),e1); 雇员e2=新雇员(“基蒂”,“汤普森”,新整数(123),“2”)
Employee e1=新员工(“小狗”,“阮”,新整数(345),“4”);
e、 put(e1.getID(),e1);
雇员e2=新雇员(“基蒂”,“汤普森”,新整数(123),“2”);
e、 put(e2.getID(),e2);
雇员e3=新雇员(“库比”、“冈萨雷斯”、新整数(234)、“5”);
e、 put(e3.getID(),e3);
System.out.println(“原始员工键入的树形图:”);
对于(Map.Entry:e.entrySet())
{
System.out.println(“ID:+entry.getKey());
System.out.println(“Employee:+entry.getValue());
}
我的输出:
原始员工键入的树状图:
身份证号码:123
雇员:Employee@fef18a5d
ID:234
雇员:Employee@ec71836a
身份证号码:345
雇员:Employee@89120ee您必须覆盖Employee
中的方法。现在你看到的是
getClass().getName()+'@'+Integer.toHexString(hashCode())
,这显然没有什么意义
@Override
public String toString(){
return this.name; // Or however the local field is declared
}
Java正在打印Employee对象的类名和内存地址,因为它们没有String-toString()方法。实现它以提供员工的描述,并在打印、调试等时使用 例如: 你可以这样做
for(Map.Entry<Integer, Employee> entry : e.entrySet())
{
System.out.println("ID: " + entry.getKey());
Employee employee = entry.getValue();
System.out.println("Employee: " + employee.getFirstName() +" "+employee..getLastName());
}
我已经有了!公共字符串ToString(){return(ID+“+lName+”,“+fName+”:“+Scale”);}它是
ToString()
,而不是ToString()
。但是是的,这应该行得通。一旦您确定了名称。如果这对您有帮助,请接受答案;)我已经有了!公共字符串ToString(){return(ID+“+lName+”,“+fName+”:“+Scale);}
@Override
public String toString() {
return this.getFirstName() + ' ' + this.getLastName() +
" (Perf. Scale: " + this.getPerformanceScale() +')';
}
for(Map.Entry<Integer, Employee> entry : e.entrySet())
{
System.out.println("ID: " + entry.getKey());
Employee employee = entry.getValue();
System.out.println("Employee: " + employee.getFirstName() +" "+employee..getLastName());
}
class Employee{
@Override
public String toString() {
return this.firstName + " " + this.lastName;
}
}