2011-09-02 230 views
4

在我的節目我正在從數據庫結果集的字符串,並將其轉換爲char數組是這樣的:字符串的字符數組和字符數組至字符串轉換

emp.nid = rs.getString("nid").toCharArray(); 

在這部分沒有任何錯誤。該字符串已成功轉換爲char數組。 但我有這樣的另一個代碼:

nid_txt.setText(emp.nid.toString()); 

這會打印一些古怪的文字。不是原來的。爲什麼發生這種情況?請幫幫我。

+0

如果你已經讀過toString()方法的描述,你應該已經想通了! – Cassio

回答

9

您在char[]上調用toString - 並且繼承Object的實現,因此您將獲得char[].class的名稱@和對象的散列。相反,調用String(char[])構造:

nid_txt.setText(new String(emp.nid)); 
+0

謝謝..........! –

+0

謝謝 - 這是我的頭! – gavz

4

這是因爲toString()方法是對象的字符串表示形式,而不是它所包含字符串。

嘗試做這樣的:

nid_txt.setText(new String(emp.nid)); 
+0

謝謝..........! –

1

您所呼叫的toString()將數組對象。試試:

new String(emp.nid); 

你應該看到更好的結果。

+0

謝謝..........! –

1

假設emp.nid是字節數組第二句是完全錯誤的。這種對象中的toString()方法將不起作用。嘗試insted的基於字節數組創建新字符串:

String s = new String(emp.nid); 
nid_txt.setText(s); 
+0

謝謝..........! –

2

代替foo.toString()new String(foo)

+0

謝謝..........! –

+0

如果有幫助,您應該投票:-)並接受最有幫助的答案。 –