有什么方法可以取代为了标识状态而创建的很多参数
在平时的开发中经常会出现这样的代码
private boolean loadMoreEnable = false;
private boolean isPatchOperation = false;
private boolean isSelectAll = false;
为了标识一个状态,后面很多操作要根据这个状态来判断,然后进行后面的操作,而且状态频繁改变又需要不断的去修改它的值,操作多了代码可读性很差,也很容易出现一些隐蔽的bug,想问下大家碰到这样的问题的时候一般是怎么设计自己的代码,或者有什么巧妙的方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有些状态是不可避免的,有些可以根据数据的状态来判断。比如:
实在无法避免的状态,可以考虑封装成类。
还有一些可以叠加的、语义上有关联的状态,可以考虑使用位运算。
android可以用控件本身的某些属性关联,isSelectAll应该是复选框的吧,可以和复选框checked关联起来
一个long可以表示64个bit,也就是64个boolean类型的字段,一个long就可以替代了,使用位操作,jdk里有个bitset类你可以看看