【发布时间】:2016-09-05 15:52:08
【问题描述】:
我有一个通用类
public class GenericBookDet<K,V>
{
private K bkId;
private V bkDescription;
public GenericBookDet()
{
this.bkId = null;
this.bkDescription = null;
}
public GenericBookDet(K bkId, V bkDescription)
{
this.bkId = bkId;
this.bkDescription = bkDescription;
}
...
//getter methods
//setter methods
}
我在另一个类中创建了这个类的数组,想添加新书。
public class GenericBookStore<K,V>
{
static int noOfbooks = 0;
GenericBookDet<K,V>bk1[];
public int addBook(K key, V bkDescription)
{
this.bk1[noOfbooks] = new GenericBookDet<K, V>(key,bkDescription);
this.bk1[noOfbooks].setbkDescription(bkDescription);
++noOfbooks;
return noOfbooks;
}
}
我通过以下方式调用 addBook 方法:
GenericBookStore<String, String> bkStore = new GenericBookStore<String,String>();
bkStore.addBook("1010", "ABCD");
但这会在 addBook 方法的第一行引发 NullPointerException。
我想在 GenericBookStore 中创建一个通用书籍数组,我可以将 String 或 bkDescription 字段中的对象传递给该数组;
【问题讨论】: