在 java 中的以下代码中:
Notification noti = nBuilder.build();
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
noti.flags |= Notification.FLAG_AUTO_CANCEL;
this 运算符 ( |=
) 有什么用?
noti.flags |= Notification.FLAG_AUTO_CANCEL;
方法
noti.flags = noti.flags | Notification.FLAG_AUTO_CANCEL;
在哪里 | 是个Bit wise OR operator
|= 是 noti.flags = noti.flags | Notification.FLAG_AUTO_CANCEL;
noti.flags |= Notification.FLAG_AUTO_CANCEL;
计算 noti.flags 和 Notification.FLAG_AUTO_CANCEL 的按位或,并将结果分配给 noti.flagsd。
按位或,等同于:
noti.flags = noti.flags | Notification.FLAG_AUTO_CANCEL;
它使用操作数的位执行“或”运算。说你有
// noti.flags = 0001011 (11 decimal)
// Notification.FLAG_AUTO_CANCEL = 1000001 (65 decimal)
// The result would be: 1001011 (75 decimal)
这是包含赋值运算符的按位或。扩展它将是noti.flags = noti.flags | Notification.FLAG_AUTO_CANCEL;
类似地,您有 &= 用于按位与,^= 用于按位异或,~= 用于按位非。