Char数组的字符串和字符串转换的Char数组

时间:2011-09-02 18:18:05

标签: java

在我的程序中,我从Database结果集中获取一个字符串,并将其转换为char数组,如下所示:

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

在这部分中没有错误。 String已成功转换为char数组。 但我有另外一个这样的代码:

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

这会打印一些怪异的文字。不是原版。为什么会这样?请帮帮我。

5 个答案:

答案 0 :(得分:9)

您正在toString上调用char[] - 并且继承了Object的实现,因此您获得char[].class名称,@然后是哈希宾语。相反,请调用String(char[])构造函数:

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

答案 1 :(得分:4)

这是因为toString()方法是对象的String表示形式,而不是它包含的字符串。

尝试这样做:

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

答案 2 :(得分:2)

而非foo.toString()执行new String(foo)

答案 3 :(得分:1)

您正在调用数组对象上的toString()。尝试:

new String(emp.nid);

你应该看到更好的结果。

答案 4 :(得分:1)

假设emp.nid是字节数组的第二句话是完全错误的。这样的对象中的toString()方法将无法正常工作。尝试根据字节数组创建新的String:

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