首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

一个变量储存多个状态

2013-11-20 
一个变量存储多个状态? ? ? ??package mypacketpublic class Stage{static int stages 0/** * 设置状

一个变量存储多个状态

? ? ? ?

?

package mypacket;public class Stage{static int stages = 0;/** * 设置状态 * @param stage */private static void setStage(int stage){stages |= stage;}/** * 判断状态是否存在 * @param stage * @return */private static boolean isStage(int stage){return (stages & stage) != 0;}/** * 清除状态 * @param stage */private static void clearStage(int stage){stages =  (stages | stage) ^ stage;}public static void main(String[] args) {int stage0 = 1;int stage1 = 1 << 1;System.out.println("before set stage: stage0 is " + (isStage(stage0)? "" :"not ")  + "in the result.");System.out.println("before set stage: stage1 is " + (isStage(stage1)? "" :"not ")  + "in the result.");setStage(stage0);setStage(stage1);System.out.println("after set stage: stage0 is " + (isStage(stage0)? "" :"not ")  + "in the result.");System.out.println("after set stage: stage1 is " + (isStage(stage1)? "" :"not ")  + "in the result.");clearStage(stage0);System.out.println("after clear stage :stage0 is " + (isStage(stage0)? "" :"not ")  + "in the result.");}}

?这样就可以把多个状态保存在stages这个变量里面了,在实际开发过程中,建议将各个状态以枚举类型存在,在上面的设置,删除和判断的方法里传入的参数也改成枚举类型,防止出错。

热点排行