如何使用char文字初始化char数组?

Vic*_*r S 17 java char

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

char c[] = "abcdefghijklmn";
Run Code Online (Sandbox Code Playgroud)

怎么了?

char数组是否只能初始化为以下内容?

char c[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'};
Run Code Online (Sandbox Code Playgroud)

JB *_*zet 23

你可以用

char c[] = "abcdefghijklmn".toCharArray();
Run Code Online (Sandbox Code Playgroud)

如果你不介意创建一个不必要的字符串.

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

也就是说,直接使用char数组是非常罕见的.你确定你不想要一个字符串吗?

  • 所有对象都是从基本数据类型构建的,包括String.但使用对象的关键是它们提供的API比基本数据类型更丰富.想要从开头和结尾删除空格,请使用`trim()`.想要搜索子字符串,请使用`indexOf()`.想要拆分分隔符,请使用`split()`.想要确保从并发线程访问String是安全的:没问题:String是一个线程安全且不可变的,与char数组不同.为什么要使用char数组并自己重新实现这一切? (7认同)

ass*_*ias 11

您可以从String初始化它:

char[] c = "abcdefghijklmn".toCharArray();
Run Code Online (Sandbox Code Playgroud)

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

String s = "abcdefghijklmn";
Run Code Online (Sandbox Code Playgroud)