【发布时间】:2016-02-03 18:31:03
【问题描述】:
我有一个ArrayList<String>,我需要遍历它,列表中的内容必须执行某些操作。我想优化迭代和比较,可以吗?
我的代码:
Person 类(包括getters 和setters):
private String employeeID;
private String firstName;
private String lastName;
private String gender;
private String mobileNo;
private String emailID;
我计算出的ArrayList、myList- [firstName, gender, mobileNo, emailID]。如何优化如下所示的逻辑以避免出现如此多的if 条件?
Person p =new Person ();
for(String element:myList)
{
if("employeeid".equalsIgnoreCase(element))
{
p.setemployeeID("");
}
if("firstname".equalsIgnoreCase(element))
{
p.setfirstName("");
}
if("lastName".equalsIgnoreCase(element))
{
p.setlastName("");
}
if("gender".equalsIgnoreCase(element))
{
p.setgender("");
}
if("mobileno".equalsIgnoreCase(element))
{
p.setMobileNo("");
}
if("emailid".equalsIgnoreCase(element))
{
p.setEmailID("");
}
}
【问题讨论】:
-
首先,你可以使用 if - else if,而不是 eacht time an if。您也可以打开它们。
-
真的要使用列表吗?无法看到其背后的逻辑。
-
解释一下你在做什么是值得的。优化循环似乎没有什么价值,因为它可能会被更好的方法取代。
标签: java if-statement for-loop optimization arraylist