与、或运算的实际用法

在制作框架的时候,常常一个对象会拥有多种状态

例如:
对象为人,含有三种状态,年轻、个高、漂亮
需要用到的时候,就再或一下,进行比对原数据,若数据不变,则包含这种状态

//kotlin
 companion object {
        val young = 0x00000002
        val tall = 0x00000004
        val pretty = 0x00000008
    }

    var flag = 0

    /**
     * 往flag 添加不同的状态
     * @param data Int
     */
    fun addFlag(data: Int) {
        flag = flag or data
    }

    /**
     * 判断当前是否含有某种转台
     * @param data Int
     */
    fun containFlag(data: Int): Boolean {
        return flag == flag or data
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容