我有这个项目类
public class Item {
private String id;
private int count;
private String name;
public int getcount() {
return this.count;
}
public Item(String name) {
this.name=name;
this.id = "";
}
public Item(String id, String name) {
this.name=name;
this.id=id;
}
public Item(int count) {
this.count=count;
}
public String getItemName() {
return this.name;
}
public String getItemId() {
return this.id;
}
}
然后我有 ItemSet 类,它将包含项目列表
public class ItemSet extends ArrayList<Item> {
private List<Item> hold;
ItemSet(Item item) {
this.hold.add(item);
}
ItemSet() {
//throw new UnsupportedOperationException("Not yet implemented");
}
public List<Item> getItemSet() {
return this.hold;
}
}
我有将包含 ItemSets 列表的事务类:
public class Transaction extends ArrayList<ItemSet> {
// ArrayList<String> l;
public ItemSet getUniqueItem() {
ResultSet rs;
Database d=new Database();
ItemSet unique=new ItemSet();
unique.clear();
String query="Select id,name from item";
rs=d.sendQuery(query);
try{
while(rs.next()) {
//System.out.println(rs.getString(1)+"\t"+rs.getString(2));
Item item=new Item(rs.getString(1),rs.getString(2));
unique.add(item);
}
}catch(Exception e){
System.out.print(e.getMessage());
}
for(Item item:unique) {
// System.out.println(item.getItemId()+": "+item.getItemName());
}
return unique;
}
public int countItems(ItemSet itemset) {
ResultSet rs;
Database d=new Database();
String query="";
int count=0;
for(Item i:itemset) {
String id=i.getItemId();
query="SELECT count(*) FROM `item_transaction` where item_id="+i;
rs=d.sendQuery(query);
try {
while(rs.next()) {
//System.out.print(rs.getString(1));
count=Integer.parseInt(rs.getString(1));
System.out.print(count+"\t");
}
}catch(Exception e){ }
}
return count;
}
}
这是主要课程
public class Ap {
public static void main(String args[]) {
Transaction t=new Transaction();
Transaction Ci=new Transaction();
Transaction Li=new Transaction();
ItemSet I=t.getUniqueItem();
for(Item i:I) {
System.out.println(i);
ItemSet itemSet=new ItemSet(i);
Ci.add(itemSet);
}
for(ItemSet itemSet:Ci) {
int x=t.countItems(itemSet);
System.out.print(x+"\t");
}
/* Iterator iter=Li.iterator();
while(iter.hasNext()) {
// System.out.print(iter.next()+"\t");
}
*/
}
}
问题是我越来越
Exception in thread "main" java.lang.NullPointerException
at ItemSet.<init>(ItemSet.java:25)
at Ap.main(Ap.java:30)
在哪里
ItemSet.java:25
指this.hold.add(item);
和在哪里
Ap.java:30
指ItemSet itemSet=new ItemSet(i); // creating new ItemSet
请帮我找出我的错误。