Java 如何将每个for转换为for循环?
我无法将此foreach更改为for循环。我不能在使用链表时使用foreach,所以我需要将其改为for循环Java 如何将每个for转换为for循环?,java,loops,for-loop,foreach,Java,Loops,For Loop,Foreach,我无法将此foreach更改为for循环。我不能在使用链表时使用foreach,所以我需要将其改为for循环 private boolean login(String username, String password) { MyList<Admin> admins = null; XStream xstream = new XStream(new DomDriver()); try { ObjectInputStream is = xstr
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;
}
嗨,欢迎来到Stack Overflow!到目前为止你都试了些什么?当你说我不能使用foreach时,你的意思是因为这是家庭作业,所以你不能使用foreach吗?伙计,这很有效。非常感谢你,期末考试做了些什么?@Jhogan我很高兴它对你有所帮助。final关键字将变量标记为常量,在本例中,这意味着您不能使用类Admin的另一个实例重新初始化变量。换句话说,更改它引用的对象。但是,您仍然可以编辑其成员。对于基本类型int、float、char等。final仅仅意味着变量的值不能修改。因为问题提到“链表”,所以最好使用基于迭代器的循环,而不是基于索引的循环…@Holger谢谢,你说得对。我编辑了我的答案以获得批准
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 (iter.hasNext()) {
// do the work
}