0
点赞
收藏
分享

微信扫一扫

在JAVA中给定值是否等于一组其他值中的任意一个

芷兮离离 2024-08-26 阅读 4

在JAVA中有像

Python:

if a in (b, c, d):
   ...

JavaScript的:

if ([b, c, d].contains(a)) {
    ...
}

这种给定值是否等于一组其他值中的任意一个
一旦 if 的条件被评估完毕,这组值就应该被忘记——因此,所有内容都应包含在 if 的括号中
执行成本应低廉
要测试的值(此处为a)不应重复,因为它可能是一个有副作用的表达式,而不是变量
因为上面的第二点,一旦 if 的条件评估完成,就应该忘记这组值,这CONSTANT.contains()不是一个解决方案,因为常量的性质意味着它 1.在到达 if 语句之前很久就被计算出来,2.在条件评估之后仍然存在。
目前标记为与此问题重复的问题从标题来看可能看起来是等同的,但实际上并非如此:另一个问题涉及连续的 if/elif/else 子句,这些子句的条件重复出现,仅涉及单个 if 语句。

如果要解决上面的
类似这样的操作在 Java 8 中是可行的

if(Arrays.asList("a", "b", "c").contains("a")) {
   //Code
}
举报

相关推荐

0 条评论