На CodeReview я разместил рабочий фрагмент кода и попросил совета по его улучшению. Один из них заключался в использовании логического метода, чтобы проверить, имеет ли ArrayList четное количество индексов (что было необходимо). Это был предложенный код:
private static boolean isEven(int number)
{
return (number & 1) == 0;
}
Поскольку я уже приставал к этому конкретному пользователю с просьбой о большой помощи, я решил, что пора приставать к сообществу SO! Я действительно не понимаю, как это работает. Метод вызывается и принимает размер ArrayList в качестве параметра (т.е. ArrayList имеет десять элементов, число = 10).
Я знаю, что один &
запускает сравнение как числа, так и 1, но после этого я заблудился.
Я прочитал это так: return true if number == 0
and 1 == 0
. Я знаю, что первое неверно, а второе, очевидно, не имеет смысла. Может ли кто-нибудь мне помочь?
Изменить: я, вероятно, должен добавить, что код действительно работает, если кому-то интересно.