SORU
12 Ocak 2013, CUMARTESİ


&;|=&Quot quot; ne anlama geliyor? (boru eşit operatör)

Google Arama kullanarak ve Yığın Taşması, ama herhangi bir sonuç çıkmadı aramaya çalıştım. Kütüphane açık kaynak kod içinde bu gördüm:

Notification notification = new Notification(icon, tickerText, when);
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_VIBRATE;

"|=" ( pipe equal operator ) ne demek?

CEVAP
12 Ocak 2013, CUMARTESİ


|= = aynı şekilde okur.

notification.defaults |= Notification.DEFAULT_SOUND;

aynı gibi

notification.defaults = notification.defaults | Notification.DEFAULT_SOUND;

| bit-wise VEYA operatör nerede.

Tüm operatörler here başvurulur.

Bit-bilge bir operatör sık sık olduğu gibi, bu sabitleri bayrakları taşıyan bir int etkinleştirmek için kullanılır.

20 ** Bu sabitleri de, iki güç içinde olduklarını görürsünüz.

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

Bit-bilge YA da bayraklar ekleyebilirsiniz

int myFlags = DEFAULT_SOUND | DEFAULT_VIBRATE; // makes 001 | 100, which is 101

bu yüzden

myFlags |= DEFAULT_LIGHTS;

sadece bir bayrak eklemek anlamına gelir.

Ve simetrik olarak, bir bayrak & kullanarak bir test :

boolean hasVibrate = (DEFAULT_VIBRATE & myFlags) != 0;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog

    EEVblog

    4 NİSAN 2009
  • Plugable

    Plugable

    19 Mayıs 2010
  • superemposed

    superemposed

    25 Aralık 2007