1.背景
我们做Android应用,往往要进行多个状态的切换,就像是照相机功能的侦测,预置,拍照等状态。有的时候通过if else也能完成功能,但是却显得代码很乱,这时候用enum枚举方法产生状态机机制,就很清晰的实现功能。
2.代码
简单的三种状态切换
- publicclassMain{
- publicenumTest{
- ONE,TWO,THREE;
- }
- publicstaticvoidmain(Stringargs[]){
- CHANGEob=newCHANGE();
- for(inti=0;i<3;i++){
- ob.change();
- }
- }
- publicstaticclassCHANGE{
- Testts=Test.ONE;
- publicvoidchange(){
- switch(ts){
- caseONE:ts=Test.TWO;
- System.out.println("thisistestone");
- break;
- caseTWO:ts=Test.THREE;
- System.out.println("thisistesttwo");
- break;
- caseTHREE:ts=Test.ONE;
- System.out.println("thisistestthree");
- break;
- }
- }
- }
- }
效果图
1.背景
我们做Android应用,往往要进行多个状态的切换,就像是照相机功能的侦测,预置,拍照等状态。有的时候通过if else也能完成功能,但是却显得代码很乱,这时候用enum枚举方法产生状态机机制,就很清晰的实现功能。
2.代码
简单的三种状态切换
- publicclassMain{
- publicenumTest{
- ONE,TWO,THREE;
- }
- publicstaticvoidmain(Stringargs[]){
- CHANGEob=newCHANGE();
- for(inti=0;i<3;i++){
- ob.change();
- }
- }
- publicstaticclassCHANGE{
- Testts=Test.ONE;
- publicvoidchange(){
- switch(ts){
- caseONE:ts=Test.TWO;
- System.out.println("thisistestone");
- break;
- caseTWO:ts=Test.THREE;
- System.out.println("thisistesttwo");
- break;
- caseTHREE:ts=Test.ONE;
- System.out.println("thisistestthree");
- break;
- }
- }
- }
- }
效果图