java - For循环从ArrayList中获取数据

标签 java 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 

最佳答案

将全局字符串初始化为空字符串而不是 null。不应在 null 和字符串对象之间进行串联。

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

如果将 global 初始化为 null

String global = null;
global = global + "item"; // treated as "null" + "item"

在循环内修改全局变量,您试图在其范围之外访问 name 变量,因此即使您在循环外声明 name ,循环中的每次迭代也会覆盖 name 变量。

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

关于java - For循环从ArrayList中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36352407/

相关文章:

java - 为什么在 eclipse 中出现 NoClassDefFound 错误是可以接受的?解决办法是什么?

java - 如何使用firebase在android应用程序启动时查询 "list data"?

c++ - 使用 openmp 并行化 for 循环并替换 push_back

swift - Swift 中 if 语句和循环的所有括号都是可选的吗?

Javascript 到 Python,在 for 循环的条件和最终表达式中按位移位

java - Java 中的最佳文件 I/O 选项?

java - 考虑在您的配置中定义一个类型为 'org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository' 的 bean

java - fragment 中的 ImageView 未显示

c# - C# 循环中捕获线程中的变量,解决方案是什么?

java - 在 'for' 循环 java 中重新启动当前迭代