2016-04-01 2 views
0

Мой ArrayList содержит две записи:For Loop, чтобы получить данные из 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 
+1

попытаться сделать 'глобальный = глобальный + "" + arrayList.get (я) .getName () .toString(); 'внутри цикла –

+1

спасибо всем, что я пометил каждый ответ как полезный ... пожалуйста, если возможно, повысьте мой вопрос .. на самом деле я не знаю, почему он был downvoted – Oreo

ответ

1

Initialize Строка глобальной пустую строку вместо NULL. Конкатенация не должна выполняться между нулевым и строковым объектами.

String global =""; 
global = global +"item"; // global is now item; 

Если инициализировать глобальные обнулить

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+", "; 
} 
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

edit' global.append ("," + arrayList.get (i) .getName(). toString()); ' –

1
String global = ""; 

for(int i=0; i<arrayList.size(); i++) { 
    global+ = arrayList.get(i).getName().toString(); 
} 

Log.d("items:", global); 
1

Вы можете использовать for каждый цикл, чтобы избежать того, чтобы управлять индексом цикла:

StringBuilder global = new StringBuilder(); 
for (Yourclass object : arrayList) { 
    global.append(object.getName().toString()); 
} 
Log.d("Items: ", global); 
Смежные вопросы