En CodeReview publiqué un fragmento de código funcional y pedí sugerencias para mejorarlo. Uno que obtuve fue usar un método booleano para verificar si un ArrayList tenía un número par de índices (que era obligatorio). Este fue el código que se sugirió:
private static boolean isEven(int number)
{
return (number & 1) == 0;
}
Como ya he molestado a ese usuario en particular para que me ayude, ¡he decidido que es hora de molestar a la comunidad SO! Realmente no entiendo cómo funciona esto. Se llama al método y toma el tamaño de ArrayList como parámetro (es decir, ArrayList tiene diez elementos, número = 10).
Sé que un solo hace &
la comparación del número y el 1, pero me perdí después de eso.
De la forma en que lo leo, dice return true si number == 0
y 1 == 0
. Sé que lo primero no es cierto y lo segundo, obviamente, no tiene sentido. ¿Alguien podría ayudarme?
Editar: probablemente debería agregar que el código funciona, en caso de que alguien se lo pregunte.