java - 修改ArrayList中的对象

标签 java database arrays oop arraylist

我需要一个动态的对象“数据库”,经过一番研究,决定使用 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() 但我收到一条错误消息

cannot find symbol (pointing to .getName())

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

谢谢!

最佳答案

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

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

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

Customer c = (Customer) list.get(0);

关于java - 修改ArrayList中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12998920/

相关文章:

php - Laravel 数据库模式,可以为空的外部

java - 使用 Ant 根据操作系统和 CPU 架构进行区分,我可以这样做吗?

java - 在推土机中默认后调用自定义转换器

java - 为什么我的 java lambda 表达式不能工作,而它的命令式风格可以正常工作?

mysql - 与其他 DBMS 相比,MySQL 是否消耗更多资源?

javascript - 在 promise 中执行 forEach 异步请求吗?

java - 使用 Double 做财务软件

database - 我应该为应用程序之类的社交网络选择关系数据库还是非关系数据库

c++ - 如何用零填充 3D 数组?

javascript - 根据格式过滤数组项