Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打印作为对象的树映射值_Java_Object_Printing_Map_Treemap - Fatal编程技术网

Java 打印作为对象的树映射值

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对象都应该包含一个(字符串)姓、一个(字符串)名、一个(整数)ID和一个(字符串)绩效等级。我已经下课了。但是,我的输出以值作为位置

Map(Integer,Employee)e=newtreemap(Integer,Employee)()

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;
    }
}