我有一个静态ArrayList,我只能从一个类(“Sale”)访问。在那个ArrayList中我想添加同一个类的项目。如何从构造函数中添加它们?
我已经这样做了,它不起作用:
public class Sale{
private static ArrayList<Sale> sales;
private Buyer buyer;
private Item item;
public Sale(Buyer buyer, Item item){
this.buyer=buyer;
this.item=item;
sales.add(this);
}
.....
先谢谢,我开始用Java编程。
答案 0 :(得分:3)
您尚未初始化您的nosetests
ArrayList。您可以通过更改
sales
类似
private static ArrayList<Sale> sales;
或使用diamond operator <>
(Java 7+),如
private static ArrayList<Sale> sales = new ArrayList<Sale>();
但我建议你program to the List
interface。像
private static ArrayList<Sale> sales = new ArrayList<>();
另一个可能的选项是静态初始化程序,例如
private static List<Sale> sales = new ArrayList<>();