gpt4 book ai didi

java - 无法为对象数组赋值

转载 作者:行者123 更新时间:2023-12-02 05:36:30 24 4
gpt4 key购买 nike

我创建了一个自定义对象数组来在其中存储值。

mNearbyPlaceMini[] mn = new mNearbyPlaceMini[googlePlacesObj.results.size()];
for (int i = 0; i < googlePlacesObj.results.size(); i++) {
mGooglePlaces.place place = googlePlacesObj.results.get(i);
Bitmap placeImageBitmap = null;
try {
URL imageUrl = new URL(place.icon);
placeImageBitmap = BitmapFactory.decodeStream(imageUrl.openConnection().getInputStream());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mn[i].placePicture = placeImageBitmap; //ERROR HERE
mn[i].placeName = place.name;
...
}

但是当我尝试为像这样的 mn[i].placePicture = placeImageBitmap 之类的对象的属性赋值时,它会给我 java.lang.NullPointerException 错误。 placeImageBitmap 具有有效值并且不为空,因此我对对象数组执行的操作一定是错误的。

public class mNearbyPlaceMini {
public Bitmap placePicture;
public String placeName;
public Double latitude;
public Double longitude;
public mNearbyPlaceMini(){}
}

最佳答案

您从未将对象分配给mn[i],因此它为空。

您可以使用 mNearbyPlaceMini[] mn = new mNearbyPlaceMini[googlePlacesObj.results.size()]; 创建一个数组,但这只是创建一个 googlePlacesObj.results.size() 数组 空对象。

您必须使用mn[i] = new mNearbyPlaceMini();初始化数组中的每个对象。只有这样您才能访问 mn[i] 而不会出现 NullPointerException。

关于java - 无法为对象数组赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24919026/

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