我有一堂这样的课..
Class A {
public void someNullCheckingMethod(Student stu) {
if (stu.getName() != null) {
String name = stu.getName();
} else {
// get name from other source(its something like
// fallback)
}
if (stu.getId() != null) {
String id = stu.getId();
} else {
// get id from other source(its something like
// fallback)
}
if (stu.getAddress() != null) {
String address = stu.getAddress();
} else {
// get address from other source(its something like
// fallback)
}
if (stu.getCity() != null) {
String city = stu.getCity();
} else {
// get city from other source(its something like
// fallback)
}
if (stu.getGender() != null) {
String gender = stu.getGender();
} else {
// get gender from other source(its something like
// fallback))
}
}
}
有没有办法避免太多的 if 语句?正如您在这里看到的,我正在检查每个属性的 null 条件,但我不希望进行多次检查来获得所需的结果,只是想减少 if 条件,并希望通过放置所有这些 if 条件获得相同的所需结果.
最佳答案
由于您没有提供任何上下文,因此您可以根据一些假设执行一些操作。
假设一:
如果值初始化为 null
String name;
// or
String name = null;
然后您可以只分配值并忽略字段是否为空,因为类成员已经为空。
String name = stu.getName(); // String name = "Some Name" OR null, depending on return value of method
假设二:
如果您只是想避免 if 语句,您可以使用三元运算符
String name = stu.getName() != null ? stu.getName() : null; // Or some other default value
我还想到了其他一些方法,但如果没有更多上下文,它们在这一点上有点无用。
关于java - 如何避免大量 if-else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51983396/