【发布时间】:2013-02-01 01:46:27
【问题描述】:
On CodeReview我发布了一段工作代码,并要求提供改进它的提示。我得到的一个方法是使用布尔方法来检查 ArrayList 是否具有偶数个索引(这是必需的)。这是建议的代码:
private static boolean isEven(int number)
{
return (number & 1) == 0;
}
由于我已经纠缠该特定用户以寻求很多帮助,因此我决定是时候纠缠 SO 社区了!我真的不明白这是如何工作的。该方法被调用,并将 ArrayList 的大小作为参数(即 ArrayList 有十个元素,number = 10)。
我知道一个 & 运行数字和 1 的比较,但之后我就迷路了。
按照我的阅读方式,如果number == 0 和1 == 0 则返回true。我知道第一个不是真的,后者显然没有意义。有人可以帮帮我吗?
编辑:我可能应该补充一点,代码确实有效,以防有人想知道。
【问题讨论】:
-
有谁知道谁把这个链接到另一个帖子(这与这些东西无关)?我可以以某种方式删除它吗?
-
该死的,这真的很聪明!
-
这是 Twitter 上的精选内容。
-
@AndrewMartin twitter.com/StackExchange/status/302768803719286785
-
@GrijeshChauhan 您能否详细说明这比
number % 2 == 0快多少??
标签: java methods arraylist boolean int