На CodeReview я опублікував робочий фрагмент коду і попросив поради щодо його вдосконалення. Одним із отриманих я був використання булевого методу, щоб перевірити, чи має ArrayList парну кількість індексів (що потрібно). Це був запропонований код:
private static boolean isEven(int number)
{
return (number & 1) == 0;
}
Оскільки я вже дошкуляв конкретному користувачеві за велику допомогу, я вирішив, що настав час приставати до спільноти SO! Я насправді не розумію, як це працює. Метод викликається і приймає за параметр розмір ArrayList (тобто ArrayList має десять елементів, число = 10).
Я знаю, що сингл &
запускає порівняння як числа, так і 1, але я загубився після цього.
Як я це читаю, це означає повернення істини, якщо number == 0
і 1 == 0
. Я знаю, що перше не відповідає дійсності, а друге, очевидно, не має сенсу. Хтось може мені допомогти?
Редагувати: Ймовірно, слід додати, що код справді працює, якщо хтось цікавиться.