以下语句在Java中不起作用,但在C中起作用:
char c[] = "abcdefghijklmn";
有什么问题吗?
Char数组只能像下面这样初始化吗?
char c[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'};
标签。char c[] = "abcdefghijklmn".toCharArray();
如果你不介意创建一个不必要的字符串。
与C语言不同,String是对象而不仅仅是字符数组。
尽管如此,直接使用字符数组非常罕见。你确定不想使用String吗?
trim()
。想要搜索子字符串,请使用 indexOf()
。想要在分隔符上分割,请使用 split()
。想要确保从并发线程对字符串的访问是安全的:没问题:String 是线程安全和不可变的,而不像 char 数组。为什么要使用 char 数组并自行重新实现所有这些功能呢? - JB Nizet你可以从一个字符串初始化它:
char[] c = "abcdefghijklmn".toCharArray();
但是,如果你需要的是一个字符串,你应该直接使用字符串:
String s = "abcdefghijklmn";
char[] c = "abcdefghijklmn".toCharArray();
试试这个:
String a = "abcdefghijklmn";
char[] c = a.toCharArray();
如果你不想使用String的toCharArray()方法,那么char数组必须像其他数组一样进行初始化- char[] c = new char[] {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'};
char[]
,可以使用StringBuilder。 - Peter Lawrey