将一维数组存储到二维

时间:2015-03-15 15:09:43

标签: java arrays multidimensional-array arraylist

我正在尝试将ArrayList拆分并存储在二维数组中。 我能够通过“:”字符拆分每个ArrayList项。之后,我能够将split函数返回的结果存储在一维数组中。

我的ArrayList内容如下: A:B:C:d:电子
号码:问:R:S:T:U:v
m:n:o

现在,我想将结果存储在二维数组中。 我遵循以下方法:

String a[]={};
String array[][] = {};

for(int i=0;i<abc.size();i++){
    a = abc.get(i).split(":");

    for(int j=0; j<a.length; j++){
        array[i][j] = a[j];
    }
}

但是,我得到了ArrayIndexOutOfBounds异常。

Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
        at com.exp.users.MainActivity.onCreate(MainActivity.java:54)
        at android.app.Activity.performCreate(Activity.java:5231)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
        at android.app.ActivityThread.access$800(ActivityThread.java:144)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5146)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
        at dalvik.system.NativeStart.main(Native Method)

有人可以分享一下怎么做吗?

1 个答案:

答案 0 :(得分:1)

数组初始化不正确。应该以{{1​​}}开头,而不是new String[abc.size()][]。此外,您必须将嵌套数组初始化为{}。完整代码:

new String[a.length]