if语句中的多个检查

时间:2011-07-27 13:50:38

标签: java if-statement

在java中有更快的方法吗?

if (keyCode != 66 && keyCode != 8 && keyCode != 21 && keyCode != 22) {

}

keyCode是一个int。

2 个答案:

答案 0 :(得分:11)

更快?对你来说太慢了吗?不要玩优化器。编写可读代码并将微优化保留给优化器。 过早优化是所有邪恶的根源

josh评论后编辑:

如果你真的有很多,请把它们放在一个容器(如一组或一个数组)中,并在其中加find keyCode。如果你找到了,那你的情况就是假的。否则就是这样。

根据Dave的评论:

if(!MyCodesSet.Contains(keyCode)){
}

答案 1 :(得分:0)

是的,switch语句将转换为直接跳转。但是,JIT可能会对您的代码执行此操作,因此如果switch实际上更快,则必须尝试使用​​它。