在一些场景中需要根据根据一个传入的额值来做不同的处理,而且if有很多层,此时如果一直写if代码就会雍容.一种比较好的方法就是写一个map列出与if对应的情况,然后map的value就能放一些方法或者其他变量.
没有出现if但是得到了if的效果,如果有else的话,那就是map.get(key)的情况,此时只要一个if就能解决.
public static Map<Long, String> intervalDaysRowkey; static { intervalDaysRowkey = new HashMap<Long, String>(); intervalDaysRowkey.put(DAYS_2, HBaseUtil.COL_QUALIFIER_RETAINED_2DAYS_HOUR); intervalDaysRowkey.put(DAYS_3, HBaseUtil.COL_QUALIFIER_RETAINED_3DAYS_HOUR); intervalDaysRowkey.put(DAYS_4, HBaseUtil.COL_QUALIFIER_RETAINED_4DAYS_HOUR); intervalDaysRowkey.put(DAYS_5, HBaseUtil.COL_QUALIFIER_RETAINED_5DAYS_HOUR); intervalDaysRowkey.put(DAYS_6, HBaseUtil.COL_QUALIFIER_RETAINED_6DAYS_HOUR); intervalDaysRowkey.put(DAYS_7, HBaseUtil.COL_QUALIFIER_RETAINED_7DAYS_HOUR); intervalDaysRowkey.put(DAYS_15, HBaseUtil.COL_QUALIFIER_RETAINED_15DAYS_HOUR); intervalDaysRowkey.put(DAYS_30, HBaseUtil.COL_QUALIFIER_RETAINED_30DAYS_HOUR); }