gpt4 book ai didi

java - 初始化对象后出现 NullPointerException

转载 作者:行者123 更新时间:2023-11-29 04:19:21 26 4
gpt4 key购买 nike

当我像下面这样初始化我的 StringBuilder 数组时,我在调用它时收到 NullPointerException。

StringBuilder[] sb = new StringBuilder[2];
for(StringBuilder s : sb){
s = new StringBuilder();
}
System.out.println(sb[0].toString());

但是,我将其更改为以下内容后,错误消息消失了。谁能解释一下有什么区别?

StringBuilder[] sb = new StringBuilder[2];
for(int i = 0; i < 2; i++) {
sb[i] = new StringBuilder();
}
System.out.println(sb[0].toString());

最佳答案

为了更好地理解它,让我们用另一种方式编写第一个循环:

for(int i = 0; i < sb.length; i++) {
StringBuilder temporary = sb[i];
temporary = new StringBuilder();
}

这个

for(StringBuilder s : sb)

相当于这个:

for(int i = 0; i < sb.length; i++) 
StringBuilder temporary = sb[i];

注意初始化temporary变量并不意味着初始化数组sb[i]中的元素,它们是完全不同的.

关于java - 初始化对象后出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50299522/

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