我有一种方法来创建类的对象列表
public List<Product> initProducts(){ List<Product> product = new ArrayList<Product>(); Product prod = new Product(product.getId(),product.getItemName(),product.getPrice(),product.getCount()); product.add(prod); return product; }
我的产品类别是:
public class Product { int ItemCode; String ItemName; double UnitPrice; int Count; /** * Initialise the fields of the item. * @param Name The name of this member of product. * @param id The number of this member of product. * @param Price The price of this member of product. */ public Product(int id, String Name, double Price, int c) { ItemCode=id; ItemName=Name; UnitPrice=Price; Count = c; } public int getId() { return this.ItemCode; } public String getItemName() { return this.ItemName; } public double getPrice() { return this.UnitPrice; } public int getCount() { return this.Count; } /** * Print details about this members of product class to the text terminal. */ public void print() { System.out.println("ID: " + ItemCode); System.out.println("Name: " + ItemName); System.out.println("Staff Number: " +UnitPrice); System.out.println("Office: " + Count); } }
我收到一个错误,指出getId()该类型的方法未定义List<Product>,其他方法也是如此。请帮助我解决此错误。
getId()
List<Product>
我的说法正确吗?
Product prod = new Product(product.getId(),product.getItemName(), product.getPrice(), product.getCount()); product.add(prod);
不,这是不正确的。产品不是类的实例Product,而是类的实例List。List没有任何称为的方法getId。
Product
List
getId
如果要从列表中检索元素并使用它创建另一个实例,可以执行以下操作:
Product exisProd = product.get(0); Product prod = new Product(exisProd .getId(),exisProd .getItemName(), exisProd .getPrice(), exisProd .getCount());
但是请确保您在列表中有元素,否则您可能会遇到异常。product.add(prod);