什么是空对象模式(Null Object Pattern)–what
空对象设计模式通过提供可替代的方案来解决对象引用不存在时引起的问题,该方案提供适当的不引发任何动作的对象默认值。
空设计模式的应用场景–why
当对象引用为空时,使用该模式可以避免调用该对象引起空指针异常。
如何使用该模式–how
- 通过代码实现
Eg:map中判断是否含有key,是一个经常碰到的非空判断场景
public class ContainsKey {
public static void main(String[] args) {
Map map = new HashMap(); //定义Map对象
map.put("apple", "新鲜的苹果"); //向集合中添加对象
map.put("computer", "配置优良的计算机");
map.put("book", "堆积成山的图书");
map.put("time", new Date());
String key = "book";
boolean contains = map.containsKey(key); //判断是否包含指定的键值
if (contains) { //如果条件为真
System.out.println("在Map集合中包含键名" + key); //输出信息
} else {
System.out.println("在Map集合中不包含键名" + key);
}
}
}
如果需要有多个key值需要判断,这样写势必不优雅,那么如何使用空对象模式解决这个问题?===>constainsKey是map中的方法,如何实现啊??md,写到一半发现写不下去了啊啊啊啊
- 通过插件判断