在Java中将1d数组转换为多维数组

时间:2011-12-22 14:40:41

标签: java

假设我有1d阵列

String teams[]={"Michael-Alex-Jessie","Shane-Bryan"}; 

我希望将它转换为多维数组,就像这样

String group[][]={{Michael,Alex,Jessie},{Shane,Bryan}}. 

我尝试使用分隔符,但由于未知原因,我无法将1d的值分配给2d数组。它说不兼容的类型。请任何帮助将不胜感激。这是我的代码。

String [][]groups ; 
String teams[]={"Michael-Alex-Jessie","Shane-Bryan"};
int a=0,b=0;
String del ="-/"; 

    for (int count = 0; count < teams.length; count++)
    {
       groups[a][b] = teams[count].split(del);
       a++;
    }

4 个答案:

答案 0 :(得分:3)

group[a][b]的类型为String,但您尝试在那里分配字符串数组(即String[])。

这是你真正想要做的事情:

for (int count = 0; count < teams.length; count++) {
   groups[count] = teams[count].split(del);
}

答案 1 :(得分:0)

您不能将“teams [count] .split(del)”返回的字符串数组分配给String

public class qq {
String[][] groups;
String teams[] = { "Michael-Alex-Jessie", "Shane-Bryan" };
int a = 0, b = 0;

public void foo() {
    String del = "-/";
    groups = new String[teams.length][];
    for (int count = 0; count < teams.length; count++) {
        groups[count] = teams[count].split(del);
        a++;
    }
}
}

答案 2 :(得分:0)

您需要分配数组值,而不是单元格值:

   groups[count] = teams[count].split(del);

答案 3 :(得分:0)

String.split()返回一个String数组,而不是String