【发布时间】:2014-08-14 09:07:26
【问题描述】:
我正在尝试做一个循环,将一个字符串拆分为字符串[]
sumc 是一个arraylist,它是一个全局变量 cind 和 dbind 是 String[] 也是全局变量
for (int i = 0 ; i <= sumc.length - 1 ; i++){
String local = sumc[i];
System.out.println(local);
String[] parts = local.split(":");
System.out.println(parts[0]);
System.out.println(parts[1]);
cind = new String [sumc.length];
dbind = new String [sumc.length];
cind[i] = local.split(":")[0];
dbind[i] = local.split(":")[1];
}
System.out.println(Arrays.toString(cind) + "\t");
System.out.println(Arrays.toString(dbind) + "\t");
所以当我做这个打印时,我只得到 null,null,null,除了最后一个,它用数字填充
【问题讨论】:
-
发布
sumc的内容。此外,强烈建议在尝试访问之前检查parts的长度。 -
如果 sumc[i] 是一个数组列表,它必须是 sumc.get(i);
-
sumc不能是数组列表,因为数组列表没有长度属性。他们只有一个size()方法。此外,arraylist 不能与索引等数组一起使用,它们有一个get()方法用于此目的。 -
问题在于数组的实例化。不在
sumc。 -
@AlexR - 是的,但问题中关于 sumc is an arraylist 的陈述在代码中是完全错误的。