我正在学习android。我一生中从未使用过Bit旗帜。所以我有点探索更好地理解。我偶然发现了这篇文章。
http://eddmann.com/posts/using-bit-flags-and-enumsets-in-java/
正如作者所说,EnumSet比位标志更有帮助。但仍然为什么android框架使用了很多Bit标志而不是EnumSets。是否有任何具体的理由选择这种艰难的方式?
答案 0 :(得分:1)
性能。我将要CommonsWare downvote和disagree(我们之前至少曾在网站上讨论过这个问题),但是enums是字符串。比特摆弄更有效率。常量字符串比较效率低下在频繁运行的代码(如框架)中,最好避免设计效率低下。 Java只是通过使它们成为字符串而不是整数来搞砸枚举。