gpt4 book ai didi

ArrayList 上的 java.lang.NullPointerException

转载 作者:行者123 更新时间:2023-12-02 11:16:44 25 4
gpt4 key购买 nike

我有以下代码:

for (int i=0; i<wallMaterialName.size(); i++){
if (Math.abs(calculatedWallUValue - alternativeWallUValue) > 0.01){
if(wallMaterialName.get(i).charAt(0) == 'A'){ //*****ERROR IN HERE*****
PreparedStatement prepStateMat = con.prepareStatement("select * from concretestonefloor where value<? order by value desc limit 1");
prepStateMat.setFloat(1, (Float)wallMaterialLambda.get(i));
ResultSet rsMaterial = prepStateMat.executeQuery();
//...
}
//...
}
}

当我运行代码时,出现“java.lang.NullPointerException”。错误来自于这段代码:

if(wallMaterialName.get(i).charAt(0) == 'A')

我不知道为什么数组列表是空的,因为我已经检查过它包含一些数据。有人知道如何解决这个问题吗?谢谢。

最佳答案

数组列表不为空,否则您将得到索引越界异常(这在您的代码中不可能产生,因为您的循环检查 i < wallMaterialName.size() )。但是,您的数组列表包含 null索引处的对象 i .

按如下方式更改代码以修复错误:

String materialName = wallMaterialName.get(i);
if(materialName != null && materialName.charAt(0) == 'A') ...

关于ArrayList 上的 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13121635/

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