当前位置: 首页 > 面试题库 >

错误:未为类型List定义方法getId()

梁丘凯定
2023-03-14
问题内容

我有一种方法来创建类的对象列表

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>,其他方法也是如此。请帮助我解决此错误。

我的说法正确吗?

Product prod = new Product(product.getId(),product.getItemName(), product.getPrice(),  
product.getCount());
product.add(prod);

问题答案:

我的说法正确吗?

Product prod = new Product(product.getId(),product.getItemName(), product.getPrice(),  
product.getCount());
product.add(prod);

不,这是不正确的。产品不是类的实例Product,而是类的实例List。List没有任何称为的方法getId

如果要从列表中检索元素并使用它创建另一个实例,可以执行以下操作:

Product exisProd = product.get(0);
Product prod = new Product(exisProd .getId(),exisProd .getItemName(), exisProd .getPrice(),  
    exisProd .getCount());

但是请确保您在列表中有元素,否则您可能会遇到异常。product.add(prod);



 类似资料:
  • 错误在最后一行,我想知道到底出了什么问题,以及如何修复它,谢谢!

  • 问题内容: 我正在大学学习基础知识,并且希望对Eclipse中的以下错误有所帮助:“对于类型ShopCLI,未定义方法getCost()”& 这是我的代码 问题答案: 方法是在订单类中定义的,而不是在类中定义的。所以你的代码: 应该改为

  • 正如代码所示,我想知道的是,在内存分配中,隐藏Base而不调用子的额外方法的实际情况是什么,它被调用了什么,有没有一种通过Base调用方法的方法。请帮忙

  • 我正在使用AnyLogic 8 University 8.7.0版本并进行基于代理的建模。我已经创建了一个汽车代理资源库,我想将汽车的初始位置(GISPoints)存储在一个变量中。使用该装置。getHomeLocation()方法给了我一个错误:“类型Auto的方法getHomeLocation()未定义”。这里,“unit”是Auto类型的ResourcePool单元的名称。 任何解决方法都会

  • 问题内容: 我对Java和android完全陌生,因此我尝试从android和数据库中找到有用的示例。我发现这个博客有一个项目: http://saigeethamn.blogspot.com/2009/10/android-developer-tutorial- part-12.html 我运行了该项目,它运行正常,但是我试图创建一个新项目,以将代码复制并粘贴到其中,但这不起作用:( 我在这条线

  • 所以我正在尝试将Jsoup安装到Eclipse。 创建用户库(窗口- 所以我试着运行他们在网站上给出的示例(参见代码),我可以导入文档和元素。但它一直在“连接”上出错。我做错什么了吗??有人知道如何解决这个问题吗? 错误: 测试组: