假设我要检查列表中的第一个元素是否等于“ YES”或“ NO”。
dummy_method(List<String> myList) {
if(myList.isEmpty()) {
return null;
}
String firstListValue = myList.get(0).getStringValue();
// Should I do this:
if ("YES".equalsIgnoreCase(firstListValue)) {
return firstListValue;
}
// OR this:
if (firstListValue.equalsIgnoreCase("YES")) {
return firstListValue;
}
// Do something else
}
换句话说:当我已经进行了空检查时,如果A等于B相对于B等于A的顺序是否重要?
最佳答案
是。这很重要。
您仅检查列表是否为非空。如果列表中的第一个元素为null,则您将在以下位置得到一个NullPointerException
firstListValue.equalsIgnoreCase("YES")
但是,如果可以确保列表中的所有元素(或至少第一个元素)都不为空,则这两个语句都是等效的。