程序员你是如何降低NPE的?
程序员,如果系统突然报了一个空指针异常,你肯定像吞了一只苍蝇一样尴尬。 那么如何在日常开发过程中降低NPE? 问题 回答 现状 返回空值会出现大量的空指针异常 目的 改进方法的返回值,降低出现空指针异常 实现路径 方法返回空集合或者空数组 跟我来! 背景 下面的方法看起来很常见。 private final List<Chesse> chessesInStock= ... public List<Cheese> getCheeses(){ return cheesesInStock.isEmpty()?null:new ArrayList<>(cheesesInStock); } 假如你去购买芝士的时候没有可用的芝士,似乎没有理由特别指出这种场景。 但是你这么做的话,客户端需要添加额外代码来处理可能返回空值的情况。示例代码如下: List<Cheese> cheeses = shop.getCheeses(); if(cheses != null && cheeses.contains(Cheese.STILTON)){ ...