java基础:位运算用法之保存多选的表单项
来源:互联网 发布:mac注销appstore 编辑:程序博客网 时间:2024/06/05 10:15
一个多选的表单项,保存在数据库里面
1.如果选择范围固定,做字段合适
2.如果选择范围不固定,单列记录表合适。灵活,增加一个中间表,扩展性优于其余两种。
3.还有一种,将多选结果转变成字符串,用分号或者逗号隔开。效率低。查询麻烦。
位运算:这里用于多选状态,存储数据。
Int 32位,long 64位。超过64为建议用上面第三种方法。
一个字段可以解决,后期分析比较代码多一点。
扩展性不高,增加一个状态,要增加相关代码。
参考:
数据库设计——“多选状态标识”的处理
位运算(深入分析举例)
java中通过位运算实现多个状态的判断(我想找的)
java位运算与它的一个巧妙应用(带一个例子)
C#位运算的处理方法(权限管理中的权限运算)(我想找的)
public class WeiYunX { class eType { public final static int None = 0; public final static int NeiXiao = (1 << 0); public final static int RiBen = (1 << 1); public final static int QiTaWaiXiao = (1 << 2); } public static void main(String[] args) { wl("1<<0 = " + (1 << 0)); wl("1<<1 = " + (1 << 1)); wl("1<<2 = " + (1 << 2)); wl("1<<3 = " + (1 << 3)); wl("1<<4 = " + (1 << 4)); wl("1<<5 = " + (1 << 5)); wl("1<<6 = " + (1 << 6)); wl("1<<7 = " + (1 << 7)); wl("1<<8 = " + (1 << 8)); wl("1<<9 = " + (1 << 9)); wl("1<<10 = " + (1 << 10)); wl("1<<11 = " + (1 << 11)); wl("1<<12 = " + (1 << 12)); wl("1<<13 = " + (1 << 13)); wl("1<<14 = " + (1 << 14)); wl("1<<15 = " + (1 << 15)); wl("1<<16 = " + (1 << 16)); wl("1<<17 = " + (1 << 17)); wl("1<<18 = " + (1 << 18)); wl("1<<19 = " + (1 << 19)); wl("1<<20 = " + (1 << 20)); wl("1<<21 = " + (1 << 21)); wl("1<<22 = " + (1 << 22)); wl("1<<23 = " + (1 << 23)); wl("1<<24 = " + (1 << 24)); wl("1<<25 = " + (1 << 25)); wl("1<<26 = " + (1 << 26)); wl("1<<27 = " + (1 << 27)); wl("1<<28 = " + (1 << 28)); wl("1<<29 = " + (1 << 29)); wl("1<<30 = " + (1 << 30)); wl("1<<31 = " + (1 << 31)); wl("1<<32 = " + (1 << 32)); } private static void wl(String msg) { System.out.println(msg); }}
执行结果:
//一般等于无状态,不选,为:01<<0 = 11<<1 = 21<<2 = 41<<3 = 81<<4 = 161<<5 = 321<<6 = 641<<7 = 1281<<8 = 2561<<9 = 5121<<10 = 10241<<11 = 20481<<12 = 40961<<13 = 81921<<14 = 163841<<15 = 327681<<16 = 655361<<17 = 1310721<<18 = 2621441<<19 = 5242881<<20 = 10485761<<21 = 20971521<<22 = 41943041<<23 = 83886081<<24 = 167772161<<25 = 335544321<<26 = 671088641<<27 = 1342177281<<28 = 2684354561<<29 = 5368709121<<30 = 10737418241<<31 = -21474836481<<32 = 1
0 0
- java基础:位运算用法之保存多选的表单项
- java之位运算基础
- java基础:位运算用法测试代码
- java基础之,位运算符>>
- java基础之位运算符
- java基础之位运算符
- Java基础之位运算符
- java 位运算基础
- Java基础: 位运算 << >> >>>
- Java基础 位运算
- Java基础应用之运算符(位运算加密)
- java基础:位运算的魅力
- Java之位运算
- JAVA位运算常见用法
- java基础系列之二:位运算符
- Java基础重温之位运算符(左移右移)
- 《Thinking in java》基础篇之位运算
- java基础 位运算符 >> <<
- JavaScript高级程序设计笔记 事件冒泡和事件捕获
- 泛型
- Mac下快捷键的符号所对应的按键
- cocos2dx+lua 3.1.1 注册事件函数详解
- 欢迎使用CSDN-markdown编辑器
- java基础:位运算用法之保存多选的表单项
- JVM基础 之温绍锦讲Java虚拟机基础
- android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
- Axure教程 axure新手入门基础(1)
- 勤奋是懒惰的元凶
- C语言函数调用模型[调用过程中在堆栈中的出栈、进栈顺序]
- spring mvc controller 获取不到@Value处理方法
- OC-类目延展协议
- Qt环境配置相关问题