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

在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
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值