gpt4 book ai didi

java - 进行空检查还是不进行空检查?

转载 作者:行者123 更新时间:2023-12-01 18:43:05 25 4
gpt4 key购买 nike

这是 Josh bloch 编写的代码 (Linkedlist.java)

 * @throws NullPointerException if the specified collection is null
*/
public boolean addAll(int index, Collection<? extends E> c) {
checkPositionIndex(index);

Object[] a = c.toArray();
int numNew = a.length;
if (numNew == 0)
return false;

Node<E> pred, succ;
if (index == size) {
succ = null;
pred = last;
} else {
succ = node(index);
pred = succ.prev;
}

在这里,我没有看到 Collection c 的任何 null ptr 检查。相反,Effective java非常强调参数验证,强调空指针检查。 如果将无效的参数值传递给方法,并且该方法在执行前检查其参数,则它将快速而干净地失败,并出现适当的异常。

我需要知道我缺少什么?换句话说,他为什么不对 addAll 函数进行 null 检查?

最佳答案

因为如果 c 为 null,Object[] a = c.toArray(); 无论如何都会抛出指定的异常。

关于java - 进行空检查还是不进行空检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19082841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com