gpt4 book ai didi

java - 如何避免大量 if-else 语句

转载 作者:行者123 更新时间:2023-11-30 02:03:39 26 4
gpt4 key购买 nike

我有一堂这样的课..

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com