我正在尝试将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)
有人可以分享一下怎么做吗?
答案 0 :(得分:1)
数组初始化不正确。应该以{{1}}开头,而不是new String[abc.size()][]
。此外,您必须将嵌套数组初始化为{}
。完整代码:
new String[a.length]