|=
ile aynı şekilde okur +=
.
notification.defaults |= Notification.DEFAULT_SOUND;
aynıdır
notification.defaults = notification.defaults | Notification.DEFAULT_SOUND;
|
bit-bilge VEYA operatörü nerede .
Tüm operatörlere burada referans verilmiştir .
Bit bilge bir operatör kullanılır, çünkü bu sabitler sıkça olduğu gibi bir int'in bayrak taşımasını sağlar.
Eğer varsa bakmak bu sabitleri de, onlar iki üssü olduğunuzu göreceksiniz:
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
Böylece bayrak eklemek için biraz akıllı VEYA kullanabilirsiniz
int myFlags = DEFAULT_SOUND | DEFAULT_VIBRATE; // same as 001 | 010, producing 011
yani
myFlags |= DEFAULT_LIGHTS;
basitçe bir bayrak eklediğimiz anlamına gelir.
Ve simetrik olarak, bir bayrağın setini kullanarak test ediyoruz &
:
boolean hasVibrate = (DEFAULT_VIBRATE & myFlags) != 0;
pipe equal operator
Bu soruya benzer bir şey veya konuyla ilgili başka bir belge eklemenin kullanıcıların aramalarına yardımcı olup olmadığını merak ediyorum .