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 に答える