0

我需要一个动态的对象“数据库”,经过一些研究,决定使用 ArrayList。但是,我无法使用以下代码修改数组列表:

public static ArrayList cprofiles;
...
cprofiles = new ArrayList();
...
...
Customer newc = new Customer (lna, fna, sinum, year, month, day);
cprofiles.add (newc);

在此声明之后,我尝试使用以下格式调用对象中的方法,cprofiles.get(0).getName()但我收到一条错误消息

找不到符号(指向 .getName())

当我尝试编译程序时。我花了大约一个小时研究在 ArrayList 中修改它的正确方法,但我发现的来源似乎表明我所做的确实是正确的。请帮助我发现我的错误以及如何解决它。

谢谢!

4

1 回答 1

6

您应该使用 ArrayList 的通用版本,而不是原始版本:

List<Customer> cprofiles = new ArrayList<Customer>();

如果您只使用ArrayList,编译器不知道您的列表包含什么,因此所有内容都被视为Object. 因此,您需要将返回的对象转换为其实际类型:

Customer c = (Customer) list.get(0);
于 2012-10-21T14:55:02.137 回答