Na CodeReview opublikowałem działający fragment kodu i poprosiłem o wskazówki, jak go ulepszyć. Jednym z nich było użycie metody boolowskiej, aby sprawdzić, czy ArrayList ma parzystą liczbę indeksów (co było wymagane). To był kod, który został zasugerowany:
private static boolean isEven(int number)
{
return (number & 1) == 0;
}
Ponieważ już nagabywałem tego konkretnego użytkownika o dużą pomoc, zdecydowałem, że nadszedł czas, aby nękać społeczność SO! Naprawdę nie rozumiem, jak to działa. Metoda jest wywoływana i przyjmuje rozmiar ArrayList jako parametr (tj. ArrayList ma dziesięć elementów, liczba = 10).
Wiem, że pojedynczy &
biegnie porównanie liczby i 1, ale potem się zgubiłem.
Sposób, w jaki to czytam, mówi, że zwróć prawdę jeśli number == 0
i 1 == 0
. Wiem, że to pierwsze nie jest prawdą, a drugie oczywiście nie ma sensu. Czy ktoś mógłby mi pomóc?
Edycja: Powinienem chyba dodać, że kod działa, na wypadek gdyby ktoś się zastanawiał.