当调用一个将对象添加到GWT中的集合的方法时,我得到一个空指针错误.我不知道为什么我所做的一切都创建了一个非常简单的对象(只包含一个字符串).这是调用函数和函数的代码:
public class PlantMenu extends VerticalPanel { private CollectionplantList; private Collection newPlantData; public PlantMenu() { createPlants(); /* for(Iterator i = plantList.iterator(); i.hasNext();) { Window.alert(i.next().getPlantName()); }*/ } public Collection createPlants() { PlantData plant1 = new PlantData("Herbs"); PlantData plant2 = new PlantData("Flowers"); PlantData plant3 = new PlantData("Vegetable"); newPlantData.add(plant1); newPlantData.add(plant2); newPlantData.add(plant3); return newPlantData; } }
它在尝试添加第一个工厂时出错(空指针),这一行:
PlantData plant1 =新PlantData("Herbs");
任何帮助赞赏:)
您没有初始化您的收藏.尽管如此,你已经说过它不在那条线上,但我对此表示怀疑.显示完整的异常堆栈会更有帮助.您的PlantData构造函数中可能会发生异常,但您没有在此处显示它.
你可以这样做,
private CollectionplantList = new ArrayList (); private Collection newPlantData = new ArrayList ();
我使用过ArrayList,因为我们通常使用ArrayList.根据要求,也可以使用其他实现.