/** * Another common style of implementing a function. * * @param typeList */ publicstaticvoiddoSomething(List<Byte> typeList){ for (Byte type : typeList) { switch (type) { case1: // // do some conditional processes. // break; case2: // // do some conditional processes. // break; default: break; } } }
/** * An POJO-bean style of implementing a function. * * @param typeList */ publicstaticvoiddoSomething(TypeExplains typeExplains){ if (typeExplains.getTypeOne() == 1) { // // do some conditional processes. // } if (typeExplains.getTypeTwo() == 1) { // // do some conditional processes. // } if (typeExplains.getTypeThree() == 1) { // // do some conditional processes. // } }
/** * Each of Keys must be strictly defined. */ publicenum TypeEnum { TYPE_1(1), // equals to "0001" TYPE_2(2), // equals to "0010" TYPE_3(4) // equals to "0100" ;
/** * Using & and | features. * * @param type */ publicstaticvoiddoSomething(Byte type){ if ((type & TypeEnum.TYPE_1.getKey()) == 1) { // // do some conditional processes. // } if ((type & TypeEnum.TYPE_2.getKey()) == 1) { // // do some conditional processes. // } if ((type & TypeEnum.TYPE_3.getKey()) == 1) { // // do some conditional processes. // } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/** * Test cases for explaining how to invoke a function. * * @author chenjinlong 20161202 */ publicstaticvoidinvokerMethod(){ /** * Initial parameters */ final Byte type1 = 1, type2 = 1, type3 = 1;
/** * Call with & and | */ doSomething((byte)(type1 | type2 | type3)); }