如何在Java中将char[]转换为字符串?

21

char[] c = string.toCharArray();

但如何将c转换回String类型呢? 谢谢!


2
дЅ зњ‹иї‡Stringзљ„жћ„йЂ е‡Ѕж•°дє†еђ—пјџ - Sotirios Delimanolis
11
+1 我刚刚做了研究 - 第一个谷歌搜索结果 - Jacek Kwiecień
5
如果能够通过谷歌搜索而不是查阅文档来回答任何“愚蠢”的问题,那么这些问题也可能非常有用。 - Daniel Hári
5个回答

51

你可以使用String.valueOf(char[])方法:

String.valueOf(c)

在幕后,这会调用String(char[])构造函数。我总是更喜欢工厂式方法而不是构造函数,但你也可以像其他答案建议的那样使用new String(c)


char[] c = {'x', 'y', 'z'};
String s = String.valueOf(c);

System.out.println(s);
xyz

请注意,如果char[]为空,则此代码将返回字符串“null”(不是值,而是实际单词“null”)。使用new String(c)时也会出现NullPointerException。 - Rhubarb
算了吧 - 在任何情况下都会出现NPE(空指针异常)。 (是String.valueOf(Object)返回“null”)...顺便说一句,这种潜在的NPE正是我首先搜索此问题的原因 - 如果不必进行空检查就可以将String替换为char [],那将是很好的...在我看来,这是一个有效的问题。 - Rhubarb

3
您可以使用String构造函数: String(char[] value); 该构造函数将char数组转换为String类型。

2
您可以执行以下操作:
char[] chars = ...
String string = String.valueOf(chars);

1

你可以写:

char[] c = {'h', 'e','l', 'l', 'o'};
String s = new String(c);

1
你可以使用

标签。

char[] c = new char[] {'a', 'b', 'c'};
String str = new String(c); // "abc"

文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接