因此,舉例來說,具有Notification以下標誌:代替布爾值的使用INT標誌
public static final int FLAG_AUTO_CANCEL = 0x00000010;
這是十六進制數16,還有其他標誌與值:
0x00000020
0x00000040
0x00000080
將其轉換爲2的冪。將其轉換爲二進制,我們得到:
00010000
00100000
01000000
10000000
因此,我們可以使用按位運算符來確定哪些標誌存在等,因爲每個標誌只包含一個1,而且它們都位於不同的位置。
問題:
這一切都非常有意義,但爲什麼不使用booleans
?這僅僅是文體,還是存在記憶或效率的好處?
編輯:
據我所知,通過組合它們,我們可以有很多的信息存儲在一個單一的int
。這是使用完全所以我們可以通過一個int
大量的布爾型類型值而不必傳遞大量參數?我不是故意輕視這一點,它非常方便,但還有其他好處嗎?
它說:「如果在用戶點擊通知時應該取消通知,應該設置標誌字段的位。當然,每個標誌的值都存儲在一個單獨的變量中,但實際上使用標誌值允許將其存儲到一個變量中。 編輯:不知道如果以前的評論被刪除或只是沒有顯示,但也許這個評論不再相關。 – kevinsa5
我已經添加了更多的答案。 – kevinsa5