我创建了一个数组实例shortFacilitiesArray,通过添加其他值来修改数组中的一组现有值。但是,当我将实例数组设置为对象的属性时,所有数据都会丢失。我的代码主要如下:
if(hotelMap.containsKey(hotelID)) {
JSONArray shortFacilitiesJSON = jsonObj.getJSONArray("shortFacilities");
String[] shortFacilitiesArray = (hotelMap.get(hotelID)).getFacilitiesShort();
shortFacilitiesArray = new String[shortFacilitiesJSON.length()];
for (int i=0;i<shortFacilitiesJSON.length();i++) {
shortFacilitiesArray[i] = shortFacilitiesJSON.getString(i);
}
hotelMap.get(hotelID).setFacilitiesShort(shortFacilitiesArray);
}
例如:
如果我的shortFacilitiesArray为{“ parking”,“ hairdryer”}
,将其设置为地图中对象的数组后,它将输出null,null。
最佳答案
如果没有其他上下文,我的选择是shortFacilitiesJson.GetString()可能返回null,因此将最初填充的数组设置为null数组。您可以通过测试shortFacilitiesArray以字符串开头的方案来验证这一点。在这种情况下,运行程序后,shortFacilitiesArray应该包含除第一个元素以外的所有null,第一个元素应与以前的字符串相同。