gpt4 book ai didi

java - 当我需要知道对象何时指向 null 时如何处理 NullPointerException? java

转载 作者:行者123 更新时间:2023-11-29 07:52:09 25 4
gpt4 key购买 nike

我正在开发一个与 Java API 列表完全一样的链接列表类。我有一组节点,每个节点都是一个 ArrayList,设置为包含一定数量的元素。我必须按顺序索引列表中的所有对象,无论它们在 Node.js 中位于每个对象的哪个位置。所以两个对象可以被一个空对象隔开。但索引仍然是 1 然后 2。

当我尝试发回已设置为 Null 的对象时,我不断收到 NullPointerException。我需要知道对象何时为空,以便我可以跳过它。bucket 是一个 ArrayList。

    private T checkObjectAtIndex(int i){
T thing;
try {
thing = bucket.get(i);

} catch (IndexOutOfBoundsException e) {
System.out.println(e.getMessage());
}
if(i>=bucket.size()){
thing = null;
}else if(bucket.get(i) != null){
thing = bucket.get(i);
}else{
thing = null;
}
return thing;

}

这是我在调用此方法时不断收到 NullPointerException 的地方。我该如何处理这个问题,以便我可以分析指向 null 的对象。就像我在特定索引处检查我的列表并且它指向 null 我想在我的测试类中抛出一个失败而不是导致我的代码崩溃。我尝试了另一个 catch 语句,它仍然崩溃了。

编辑:我更新了代码以 try catch NullPointerException。我仍然明白它,它仍然导致我的程序崩溃:(

        @SuppressWarnings("finally")
private T checkObjectAtIndex(int i){
T thing;
try {
thing = bucket.get(i);

} catch (IndexOutOfBoundsException e) {
System.out.println(e.getMessage());
}catch (NullPointerException e) {
System.out.println(e.getMessage());
} finally{
if(i>=bucket.size()){
return null;}
else if(bucket.get(i) != null){
thing = bucket.get(i);
return thing;
}else{
return null;
}

}
}

最佳答案

if(someThing != null){
dothis;
}else{
dothat;
}

关于java - 当我需要知道对象何时指向 null 时如何处理 NullPointerException? java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20307787/

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