2013-10-18 53 views
1

我想用整數鍵和Employee值打印出一個樹形圖。每個Employee對象應該包含一個(字符串)姓氏,一個(字符串)名字,一個(整數)ID和一個(字符串)性能量表。我已經完成了Employee類。但是,我的輸出與值作爲位置出來。打印一個對象的TreeMap值

Map(Integer,Employee)e = new TreeMap(Integer,Employee)();

Employee e1 = new Employee("Puppy", "Nguyen", new Integer(345), "4"); 
    e.put(e1.getID(), e1); 
    Employee e2 = new Employee("Kitty", "Thompsons", new Integer(123), "2"); 
    e.put(e2.getID(), e2); 
    Employee e3 = new Employee("Cubby", "Gonzalez", new Integer(234), "5"); 
    e.put(e3.getID(), e3); 

    System.out.println("Original Employee-typed TreeMap: "); 

    for(Map.Entry<Integer, Employee> entry : e.entrySet()) 
    { 
     System.out.println("ID: " + entry.getKey()); 
     System.out.println("Employee: " + entry.getValue()); 
    } 

我的輸出:

原始員工類型的TreeMap中:

ID:123

僱員:僱員@ fef18a5d

ID:234

僱員:僱員@ ec71836a

ID:345

員工:員工@ 89120ee

回答

2

你必須重寫toString()方法Employee。現在你正在尋找

getClass().getName() + '@' + Integer.toHexString(hashCode()),這顯然沒有太多的意義。

@Override 
public String toString(){ 
return this.name; // Or however the local field is declared 
} 
+0

我已經擁有了! 公共字符串的ToString() \t { \t \t返回(ID + + L-NAME + 「 」+ FNAME + 「:」 +縮放「。」); \t} –

+0

它是'toString()',而不是'ToString()'。但是,這是應該的。一旦你修復了這個名字。 –

+0

你的權利哈哈我沒有注意到它,謝謝:) –

0

Java正在打印Employee對象的類名和內存地址,因爲它們沒有String toString()方法。實現它提供員工的描述,並在打印時將使用它,或調試等

如:

@Override 
public String toString() { 
    return this.getFirstName() + ' ' + this.getLastName() + 
     " (Perf. Scale: " + this.getPerformanceScale() +')'; 
} 
+0

我已經擁有了! public String ToString() \t { \t \t return(ID +「。」+ lName +「,」+ fName +「:」+ Scale); \t} –

0

你可以像這樣

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

您需要在Employee類中添加toString()方法,如下所示

class Employee{ 


    @Override 
    public String toString() { 
     return this.firstName + " " + this.lastName; 
    } 
} 
+0

謝謝!這有助於 –