关于Java中返回零长度数组或空集合比较好,还是返回null这个问题的一些想法...

  近日在方法返回类型为List数据类型时,返回结果为空集合比较好,还是null比较好的问题上有点纠结。

  我觉得应该统一返回空集合,这样可以不用进行空指针的判断,不然又多了一个产生bug的可能性。而有人认为,明明可以使用null,缺要使用空集合会造成性能的下降。

  我觉得这个还是要见仁见智吧,看了一些文章,提到:

  1. 对于这个问题,逻辑出错比性能下降造成的后果更严重,除非有足够多的证据证明确实是在这里造成的性能问题;
  2. 零长度的数组,其实并不比null占用太多的额外开销;
  3. 如果真的返回次数太多,其实我们可以使用同一个零长度的数组。

  所以,我的建议还是使用空集合比较好。

转载于:https://www.cnblogs.com/JoeyWong/p/10038501.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误是 Java 常见的异常之一,它通常表示代码尝试使用一个对象引用进行操作,而不是一个有效的对象引用。这可能是由于未正确初始化变量、未正确处理异常或未正确处理指针引用等原因引起的。要解决这个问题,需要仔细检查代码,并确保所有变量都被正确初始化,并且在使用对象引用之前,应该对其进行 null 检查。另外,应该正确处理异常,以避免出现指针异常。 ### 回答2: java.lang.NullPointerException: nullJava编程语言的一种运行时异常(RuntimeException)。当程序尝试使用对象引用调用方法或访问成员时,通常会抛出这个异常。 NullPointerException(指针异常)是编程常见的错误之一,通常出现在以下情况下: 1. 对一个对象引用调用方法或访问成员:当对象为null时,它没有任何方法或成员可供调用。 2. 数组长度null:使用数组前,应确保数组已经初始化。 3. 在条件语句使用null:比如if (null == null)。 4. 集合使用null:对于某些集合类,不允许存储null值,尝试添加null值时会抛出指针异常。 5. 在多线程环境下使用null:在多线程情况下,对象的引用可能发生变化,如果没有及时检测和处理,可能导致指针异常。 为了避免指针异常,我们可以采取以下措施: 1. 进行参数、引用对象的指针检查。 2. 使用条件判断语句对可能为的对象进行检测后再进行操作。 3. 在集合使用时,避免存储null值,可以考虑使用容器或其他方式处理。 4. 在多线程环境下,需要及时处理和同步对象的引用。 5. 使用工具类如Apache Commons Lang的StringUtils类,可以提供更加方便的指针检查和处理方法。 与其他异常相比,指针异常相对容易定位和修复。通过检查指针异常的堆栈跟踪信息,可以找到出问题的行数和代码位置,然后对代码进行修复和优化,避免指针异常的发生。 ### 回答3: java.lang.NullPointerException: nullJava常见的异常类型之一,表示指针异常。当一个对象的引用为null,尝试对其进行方法调用或访问其属性时,就会抛出该异常。 在软件开发过程指针异常是一种常见的bug,通常是因为程序员疏忽或者逻辑错误导致的。当程序存在null引用的情况时,如果没有进行充分的判断和处理,就有可能触发指针异常。 解决指针异常的方法有如下几种: 1. 对可能为null的对象进行判断,使用条件语句(if语句)避免对其进行操作。 2. 使用Java 8的Optional类进行值判断和处理,可以减少指针异常的发生。 3. 在程序编写的过程,养成良好的编码习惯,对可能为null的对象进行充分的判断,避免随意调用方法或访问属性。 4. 使用调试工具(如eclipse、IntelliJ IDEA等)来快速定位指针异常的出现点,以便及时进行修复。 总之,指针异常的出现是由于对null引用进行了方法调用或访问属性,解决指针异常的关键是在编码过程对可能为null的对象进行判断和处理,避免对null引用进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值