2012-07-25 145 views
1

我有一個HashMap。我正在嘗試檢索值並使用用戶代碼中的鍵打印它。如何將散列表的值轉換爲字符串i Java

的代碼是:

lib.addbook(book2.getISBN(), book2); 
Book ret = lib.getbook("978-81-291-1979-7"); 
System.out.println(ret); 

電流輸出:

O/P:[email protected]

我所要的輸出是一個字符串,並顯示實際價值不是本書的地址。

回答

5

您必須在Book類中實現(並覆蓋)toString()方法,並指定要輸出的內容。例如:

@Override 
String toString() 
{ 
    return this.author+": " + this.title; 
} 
+2

這是Java,我認爲你的意思是'toString()'。 – 2012-07-25 12:54:11

+2

如果他的回答有幫助並解決了您的問題,請考慮通過點擊小複選標記來接受他的回答。 – Matt 2012-07-25 13:16:03

+0

@DonRoby Ooops,人們說C#和Java之間沒有區別;)。 – ThePadawan 2012-07-25 13:28:59

0

公地郎此的偉大事業,如果你不希望重寫的ToString()方法,或者需要在不同情況下不同的代表它:

這裏有一個呼叫建立基於反射的字符串:

String str = ToStringBuilder.reflectionToString(object); 

其實,這是實施的ToString()方法本身就是一個很好的方式。這個類別的另一種替代用法是按字段創建字符串:

String str = new ToStringBuilder(object) 
    .append("field1", field1) 
    .append("field2", field2) 
    .toString(); 
相關問題