在Java中将字符串转换为char数组?

时间:2014-01-24 18:49:34

标签: java arrays

我有类似下面的内容:

char[] array = new char[5];
String a = "HELLO";
String b = "WORLD";
array[0] = a.toCharArray();
array[1] = b.toCharArray();

我收到错误“不兼容的类型,char []无法转换为char”。我的最终产品我喜欢以下内容:

array = {{H},{E},{L},{L},{O}},{{W},{O},{R},{L},{D}};

array在最终结果中成为[2][5]数组。 toCharArray()使用的方法不正确吗?

5 个答案:

答案 0 :(得分:2)

你需要一个双数组。像

这样的东西
char[][] arr = new char[2][];
arr[0] = a.toCharArray();

答案 1 :(得分:1)

您需要一个数组数组。像这样:

char[][] array = new char[5][];

答案 2 :(得分:1)

您必须使用toCharArray才能获得char[];问题是你在提取它之后把它放在哪里。

将您的array变量更改为char[][],并将其定义为:

char[][] array = new char[2][5];

请注意,结果不会完全{{H},{E},{L},{L},{O}},{{W},{O},{R},{L},{D}};它更像{{H, E, L, L, O}},{{W, O, R, L ,D}}

答案 3 :(得分:1)

您需要一个数组数组

char[][] arr = new char[5][];
arr[0] = a.toCharArray();

答案 4 :(得分:1)

char[] array = new char[5];
String a = "HELLO";
String b = "WORLD";
array[0] = a.toCharArray();
array[1] = b.toCharArray();

如果a和b的长度不同,该怎么办?您的方法和其他人提出的方法非常有限/具体且不灵活。试着这样做来抽象String的长度。

 ArrayList<char[]> array = new ArrayList();
 String a = "HELLO";
 String b = "WORLD";
 array.add(a.toCharArray());
 array.add(b.toCharArray());