|=
đọc theo cùng một cách như +=
.
notification.defaults |= Notification.DEFAULT_SOUND;
giống như
notification.defaults = notification.defaults | Notification.DEFAULT_SOUND;
nơi |
là bit-wise toán tử OR.
Tất cả các nhà khai thác được tham khảo ở đây .
Một toán tử bit khôn ngoan được sử dụng bởi vì, thông thường, các hằng số đó cho phép một int mang cờ.
Nếu bạn nhìn vào các hằng số đó, bạn sẽ thấy rằng chúng có sức mạnh của hai:
public static final int DEFAULT_SOUND = 1;
public static final int DEFAULT_VIBRATE = 2; // is the same than 1<<1 or 10 in binary
public static final int DEFAULT_LIGHTS = 4; // is the same than 1<<2 or 100 in binary
Vì vậy, bạn có thể sử dụng bit-khôn ngoan HOẶC để thêm cờ
int myFlags = DEFAULT_SOUND | DEFAULT_VIBRATE; // same as 001 | 010, producing 011
vì thế
myFlags |= DEFAULT_LIGHTS;
đơn giản có nghĩa là chúng ta thêm một lá cờ.
Và đối xứng, chúng tôi kiểm tra một cờ được thiết lập bằng cách sử dụng &
:
boolean hasVibrate = (DEFAULT_VIBRATE & myFlags) != 0;
pipe equal operator
câu hỏi này hoặc bất kỳ tài liệu nào khác về chủ đề này sẽ không giúp mọi người tìm kiếm.