修改ArrayList中的对象

n0s*_*dow 0 java database arrays oop arraylist

我需要一个动态的"数据库"对象,经过一番研究,决定使用ArrayList.但是,我无法使用以下代码修改arraylist:

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

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

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

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

谢谢!

JB *_*zet 6

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

List<Customer> cprofiles = new ArrayList<Customer>();
Run Code Online (Sandbox Code Playgroud)

如果你只是使用ArrayList,编译器不知道你的列表包含什么,所以一切都被认为是Object.因此,您需要将返回的对象强制转换为其实际类型:

Customer c = (Customer) list.get(0);
Run Code Online (Sandbox Code Playgroud)