gpt4 book ai didi

java - 在运行时确定 IF 语句条件

转载 作者:行者123 更新时间:2023-12-01 18:11:08 26 4
gpt4 key购买 nike

我有一个接受两个参数的函数,foo(A a, String type),具体取决于类型,我必须更改 if 语句条件。

foo(A a, String type){
//if type equals 'bar'
if(!a.isEmpty() && a.hasMember()){...}
//but if type is something else
if(!a.isEmpty() || a.hasMember()){...}
}

if 主体中的逻辑是相同的,几乎所有其他内容都是相同的,除了条件是否有任何有效的方法来实现差异,否则我必须将所有内容都写两次?

最佳答案

我想你可以使用以下内容:

foo(A a, String type){
//if type equals 'bar'
if("bar".equals(type)) {
if(!a.isEmpty() && a.hasMember()){...}
}
else {
//but if type is something else
if(!a.isEmpty() || a.hasMember()){...}
}
}

说明:如果 type 的值为“bar”,则如果条件变为 true,则将执行该条件所需的任何代码。

您还可以使用简洁的形式:

if( ("bar".equals(type) && (!a.isEmpty() && a.hasMember())) || (!"bar".equals(type) && (!a.isEmpty() || a.hasMember()))) {
// Do your stuff
}

需要注意的一点是 "bar".equals(type)type.equals("bar") 更好,因为它还可以让您免于麻烦类型为 null 的情况。

关于java - 在运行时确定 IF 语句条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32884548/

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