我的ArrayList包含两条记录:
Item 1
Item 2
这是我用来获取这些记录的循环
String global = null;
for(int i=0; i<arrayList.size(); i++) {
String name = arrayList.get(i).getName().toString();
}
global = global+name+", ";
Log.d("items:", global);
输出:
D/items:: nullItem 2,
虽然我在期待
Item 1, Item 2
答案 0 :(得分:1)
StringBuilder global = new StringBuilder();
for(int i=0; i<arrayList.size(); i++) {
global.append(arrayList.get(i).getName().toString());
}
Log.d("items:", global.toString());
答案 1 :(得分:1)
String global = "";
for(int i=0; i<arrayList.size(); i++) {
global+ = arrayList.get(i).getName().toString();
}
Log.d("items:", global);
答案 2 :(得分:1)
将String global初始化为空字符串而不是null。不应在null和字符串对象之间进行连接。
String global ="";
global = global +"item"; // global is now item;
如果您将全局归因于null
String global = null;
global = global + "item"; // treated as "null" + "item"
修改循环内的全局变量,您尝试访问其范围之外的名称变量,因此即使您在循环外声明名称,也会为循环中的每次迭代覆盖名称变量。
for(int i=0; i<arrayList.size(); i++) {
String name = arrayList.get(i).getName().toString();
global = global+name+", ";
}
答案 3 :(得分:1)
您可以使用for
每个循环来避免必须管理循环索引:
StringBuilder global = new StringBuilder();
for (Yourclass object : arrayList) {
global.append(object.getName().toString());
}
Log.d("Items: ", global);