我从stringarrayI中取SharedPreferences并将其放在用分隔符String[]分隔的,中。现在,我将其解析为ArrayList<Integer>

Log.d("stringArrayIget:", "" + stringArrayI);
String[] strArrayI = stringArrayI.split(",");
ArrayList<Integer> intArrayI = new ArrayList<Integer>();

for (int i = 0; i < strArrayI.length; i++) {
    Log.d("strArrayI: ", strArrayI[i].toString());
    Log.d("strArrayILength: ", "" + strArrayI.length);
    intArrayI.add(Integer.valueOf(strArrayI[i]));
}
Log.d("intArrayI: ", Integer.valueOf(strArrayI[i]).toString());


我从stringArrayI中获取SharedPreferences并在日志中得到01234。当我将其放入String[]中时,我得到01234。但是,当我尝试将其解析为ArrayList时,我只会得到1234

最佳答案

如果您说的是正确的,那么您的问题是字符串01234不包含任何逗号。也就是说,您应该看到的第一个日志打印为0、1、2、3、4,而不是01234。

它被“拆分”为长度为1的数组。将01234变成整数时,得到1234。

07-24 09:44