我已经为对象创建了数组,现在它显示了空指针异常
attributes attrs1[]=new attributes[6];
attrs1[0].setKey1("processor");
attrs1[0].setValue1("i3");
attrs1[1].setKey1("ram");
attrs1[1].setValue1("256mb");
attrs1[2].setKey1("display");
attrs1[2].setValue1("15");
答案 0 :(得分:9)
分配数组只为各个对象腾出空间,而不是分配它们
您需要为数组中的每个索引显式执行新操作。
答案 1 :(得分:2)
您还必须初始化数组的内部实例:
attributes attrs1[]=new attributes[6];
for (int i = 0; i < 6; i++)
attrs1[i] = new attributes();
答案 2 :(得分:1)
你不能创建一个数组的对象,而应该创建一个对象数组...所以你需要使用循环来创建所有数组元素的对象......
l00p
{
attrs[i]=new attribute()
}