17

以下语句在 Java 中不起作用,但在 C 中起作用:

char c[] = "abcdefghijklmn";

怎么了?

char数组是否只能初始化如下?

char c[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'};
4

5 回答 5

26

你可以使用

char c[] = "abcdefghijklmn".toCharArray();

如果您不介意创建不必要的字符串。

与 C 不同,字符串是对象,而不仅仅是字符数组。

也就是说,很少直接使用 char 数组。你确定你不想要一个字符串吗?

于 2012-07-29T17:15:08.433 回答
11

您可以从字符串初始化它:

char[] c = "abcdefghijklmn".toCharArray();

但是,如果你需要的是一个字符串,你应该简单地使用一个字符串:

String s = "abcdefghijklmn";
于 2012-07-29T17:13:33.247 回答
2

文字“abcdefghijklmn”是 Java 中的 String 对象。您可以使用 String toCharArray() 方法快速将其转换为 char 数组。

尝试这个:

char[] c = "abcdefghijklmn".toCharArray();
于 2012-07-29T17:15:23.473 回答
2

尝试这个:

String a = "abcdefghijklmn";   
char[] c = a.toCharArray();
于 2013-12-11T07:36:59.210 回答
2

如果您不想使用 String toCharArray(),那么是的,char 数组必须像任何其他数组一样初始化 -char[] c = new char[] {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'};

于 2018-07-17T18:29:47.597 回答