gpt4 book ai didi

java - 我如何将这个 for every 转换为 for 循环?

转载 作者:行者123 更新时间:2023-12-02 09:12:52 25 4
gpt4 key购买 nike

我无法将此 foreach 更改为 for 循环。我在使用链接列表时无法使用 foreach,因此我需要将其更改为 for 循环

 private boolean login(String username, String password) {
MyList<Admin> admins = null;
XStream xstream = new XStream(new DomDriver());
try {
ObjectInputStream is = xstream.createObjectInputStream(new FileReader("Admins.xml"));
admins = (MyList<Admin>) is.readObject();
is.close();
}
catch(FileNotFoundException e) {
admins = new MyList<Admin>();
txtFeedBackArea.setText("Password File not located");
return false;

}
catch (Exception e) {
txtFeedBackArea.setText("Error accessing Password File");
return false;
}

for (Admin admin: admins) {
if(admin.getUsername().equals(username) &&
admin.getPassword().equals(password))
return true;
}
return false;
}*/

最佳答案

这个怎么样?

for (int i = 0; i < admins.size(); i++) {
final Admin a = admins.get(i);
if(a.getUsername().equals(username) && a.getPassword().equals(password))
return true;
}

顺便说一句,使用 for-each 样式循环总是更好,因为它提供了更多的可读性和便利性

编辑:既然您提到了链表,最好使用链表迭代器来迭代您的集合。

for (ListIterator<Admin> iter = admins.listIterator(0); iter.hasNext()) {
final Admin a = iter.next();
if(a.getUsername().equals(username) && a.getPassword().equals(password))
return true;
}

您还可以使用 while 循环

while (iter.hasNext()) {
// do the work
}

关于java - 我如何将这个 for every 转换为 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59255851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com