我试图使用items.remove(0)获取ArrayList项目中的第一项,这项工作正常,直到items.size()为1, 此时,下面的代码返回空字符串。我累了两种不同的方式,但不知道为什么它会在我回来的时候“” 期待它在items.size>时返回最后剩余的项目0。 继续使用Android Studio,调试器在我的第二个代码中逐步返回BOTH返回行。从来没见过这个。请帮忙解决这个问题 谢谢
String item = "";
if (items.size() > 0) {
item = items.remove(0);
}
return item;
if (items.size() > 0) {
return items.remove(0);
} else {
return "";
}
答案 0 :(得分:0)
为什么不直接使用.get()方法?
String item = "b" // items.size() = 1
if(items.size() > 0) {
item = items.get(0);
} else {
item = "";
}
答案 1 :(得分:0)
修正: 代码被调用两次,一次是由对象构造函数调用,另一次是同一个对象中的方法,所以只要第一次调用“由构造函数”返回完成,第二次调用就会执行,并且由于条件发生了变化,第二次返回得到执行。 基本上我的错误编码逻辑造成了问题。删除其中一个电话后。代码工作正常。