2017-02-05 34 views
1

我正在學習android。我從來沒有在我的生活中使用位標誌。所以我有點探索更好地理解。我碰到了這篇文章。爲什麼Android有如此多的位標誌而不是EnumSet?

http://eddmann.com/posts/using-bit-flags-and-enumsets-in-java/

正如筆者建議EnumSet的方式比位標誌更有幫助。但仍然爲什麼android框架使用了很多位標誌而不是EnumSets。有沒有什麼具體的理由來選擇這種困難的方式?

+0

https://stackoverflow.com/questions/32360537/when-is-it-good-to-use-enum-in-android#comment52594240_32360537 – CommonsWare

+0

很難推薦使用枚舉,因爲這會佔用你的內存比靜態塊多一倍。 – Shekhar

回答

1

表現。我即將讓CommonsWare陷入低谷和不同意(我們至少在此之前曾在網站上爭論過這一點),但枚舉是串聯的。位擺弄更有效率。常量字符串比較效率低在像框架這樣頻繁運行的代碼中,儘量避免設計造成的低效率。 Java只是通過使它們成爲字符串而不是整數,從而簡化了枚舉。

相關問題