Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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 - Fatal编程技术网

Java 字符串到字符数组和字符数组到字符串的转换

Java 字符串到字符数组和字符数组到字符串的转换,java,Java,在我的程序中,我从数据库结果集中获取一个字符串,并将其转换为char数组,如下所示: emp.nid = rs.getString("nid").toCharArray(); nid_txt.setText(emp.nid.toString()); nid_txt.setText(new String(emp.nid)); 这一部分没有错误。字符串已成功转换为字符数组。 但我有另一个类似这样的代码: emp.nid = rs.getString("nid").toCharArray();

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

emp.nid = rs.getString("nid").toCharArray();
nid_txt.setText(emp.nid.toString());
nid_txt.setText(new String(emp.nid));
这一部分没有错误。字符串已成功转换为字符数组。 但我有另一个类似这样的代码:

emp.nid = rs.getString("nid").toCharArray();
nid_txt.setText(emp.nid.toString());
nid_txt.setText(new String(emp.nid));

这打印了一些奇怪的文本。不是原来的。为什么会这样?请帮帮我。

您正在调用
char[]
上的
toString
,这继承了
对象的实现,因此您得到
char[].class
名称,然后是对象的散列。相反,调用
字符串(char[])
构造函数:

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

之所以会出现这种情况,是因为
toString()
方法是对象的字符串表示,而不是它所包含内容的字符串

试着这样做:

emp.nid = rs.getString("nid").toCharArray();
nid_txt.setText(emp.nid.toString());
nid_txt.setText(new String(emp.nid));

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

new String(emp.nid);

您应该会看到更好的结果。

假设emp.nid是字节数组,那么第二句话就完全错了。此类对象中的toString()方法将不起作用。尝试根据字节数组创建新字符串:

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

如果您已经阅读了toString()方法的描述,那么您就可以解决这个问题,而不是
foo.toString()
do
newstring(foo)

!如果有帮助的话,你应该投票赞成:-)并接受最有帮助的答案。谢谢你-这让我头痛不已!