Apa yang dilakukan value & 0xff di Java?

Saya memiliki kode Java berikut: byte value = 0xfe; // corresponds to -2 (signed) and 254 (unsigned) int result = value & 0xff; Hasilnya adalah 254 saat dicetak, tetapi saya tidak tahu cara kerja kode ini. Jika &operatornya hanya bitwise, lalu mengapa tidak menghasilkan byte melainkan...