gpt4 book ai didi

java - java中表达式的别名

转载 作者:行者123 更新时间:2023-12-02 19:14:41 28 4
gpt4 key购买 nike

我在java中有一个if条件,它在代码中的很多地方重复出现。我想避免一次又一次地写下整个条件。在 C 中,我可以使用 #define 来完成此操作

#define cond ((i==2) && (j==5) && (k==8))

int main() {
if(cond)
}

如何在java中实现相同的效果?我也许可以创建另一种方法来评估这种情况 -

  main() {
if(cond())
}

cond() {
return (i==2) && (j==5) && (k==8);
}

但我想知道是否可以避免创建另一个函数。


更新-

我意识到我应该添加更多细节/编辑来支持我的论点。假设我有 2 个条件,并且我想检查这两个条件 -

 #define cond258 ((i==2) && (j==5) && (k==8))
#define cond369 ((i==3) && (j==6) && (k==9))

我可以创建 2 个函数 -

cond258(i, j, k) {
return (i==2) && (j==5) && (k==8);
}
cond369(i, j, k) {
return (i==3) && (j==6) && (k==9);
}

这对我来说看起来不是一个好方法。这两个函数都在做类似的事情,因此应该将它们转换为单个函数 -

cond(i, j, k, first, second, third) {
return (i==first) && (j==second) && (k==third);
}

但这使得我的 if 条件不可读 -

if(cond(i, j, k, 2, 5, 8) || cond(i, j, k, 3, 6, 9))

所以如果我可以有一些别名,我可以简单地将其写为

if(cond258 || cond369)

最佳答案

我相信如果不编写另一个函数就无法做到这一点,或者至少不建议/不实用。为条件语句编写另一种方法实际上是重构您的代码,Decompose conditional在这种情况下。

关于java - java中表达式的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63817495/

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