是什么
一种scheme,用表来做信息存取,代替逻辑语句(if/else)
为什么
简化逻辑语句,避免大量嵌套的 if/else 或者 switch/case
怎么用
三种访问表的方式
- 直接访问:将源数据作为key
- 索引访问:构建KV表
- 阶梯访问:分为连续区间,遍历或者二分查找
例子
// get the full name of weekday // good String[] weekdays = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; String getName(int day) { return weekdays[day]; } // bad String getName(int day) { switch (day) { case 0: return "Sunday"; break; case 1: return "Monday"; break; // and so on } }