【发布时间】:2013-05-31 12:23:35
【问题描述】:
我目前正在处理一个用例,其中给您 6 个字符串,其中包含 3 个 oldValues 和 3 个 newValues,如下所示:
String oldFirstName = "Yogend"
String oldLastName = "Jos"
String oldUserName = "YNJos"
String newFirstName = "Yogendra"
String newLastName ="Joshi"
String newUserName = "YNJoshi"
现在我基本上想要做的是将每个 oldValue 与其对应的新值进行比较,如果它们不相等则返回 true,即
if(!oldFirstName.equalsIgnoreCase(newFirstName)) {
return true;
}
现在,由于我有 3 个字段,而且很可能将来我们可能会有更多具有旧值和新值的字符串,我正在寻找一种最佳解决方案,无论有多少新旧值,它都可以在所有情况下工作添加值并且没有大量的 if else 子句。
我认为的一种可能性是将旧值设置为 OldArrayList 并将新值设置为 newArraylist 然后使用 removeAll 删除重复值但不起作用一些情况。
堆栈上的任何人都可以帮助我提供一些关于如何以最佳方式完成此任务的指示。
谢谢, 约根德拉·N·乔希
【问题讨论】:
-
将每个 OldValues 和 NewValues 存储在一个 ArrayList 中,这样您就可以保持它们之间的某种关系。然后你只需像现在所做的那样比较两个 arrayList 的索引。因此,您将有一个 if-else,但只需遍历 arrayList。
-
第一件事:
return !oldFirstName.equalsIgnoreCase(newFirstName)就足够了。 -
@benzonico --"...没有大量 if else 子句..."
标签: java string compare scalability equality