在Java中将多个对象添加到列表时遇到问题

在Java中将多个对象添加到列表时遇到问题,java,list,arraylist,add,Java,List,Arraylist,Add,我有一个用Java编写的基本投资计算器,而且我似乎无法将多个投资对象添加到ArrayList中。以下是一些基础知识(问题行位于“如果添加401k”块中): publicstaticvoidmain(字符串[]args){ 输入=新扫描仪(System.in); ArrayList invList=新的ArrayList(); int main choice=Util.main菜单(); while(3!=主选项){ //增加新投资 if(1==main选项){ int invChoice=Uti

我有一个用Java编写的基本投资计算器,而且我似乎无法将多个投资对象添加到ArrayList中。以下是一些基础知识(问题行位于“如果添加401k”块中):

publicstaticvoidmain(字符串[]args){
输入=新扫描仪(System.in);
ArrayList invList=新的ArrayList();
int main choice=Util.main菜单();
while(3!=主选项){
//增加新投资
if(1==main选项){
int invChoice=Util.invMenu();
//如果添加401k
if(1==invChoice){
//从用户获取信息,这些信息在创建下面的新对象时作为参数传递
//RetPlan401k扩展了投资超类
RetPlan401k inv=新RetPlan401k(invName、bal401k、contrb401k、ret401k、match、cap);
invList.add(inv);
}
...
通过调试,我知道我可以在列表中添加任意数量的投资对象,但是当我打印每个对象的信息时(为了简单起见,我们可以这样说:

(for int i = 0; i < invList.size(); ++i){
System.out.print("Investment name: " + invList.get(i).getName());
}) 
(对于int i=0;i
它将最近添加的invList.size()对象的名称打印几次。例如,我得到了invList.size()对象,所有这些对象都包含完全相同的信息


这就像这里的数据结构101,但我有一段时间没有看到它。为什么每个投资对象都没有按照输入方式打印出来呢?谢谢你的帮助。

问题解决了…原来我的对象类中有一些错误的“静态”关键字。这会让你每次都明白。谢谢大家。

你的列表/prInTIN逻辑看起来是有序的。也许您的UI逻辑中有一个错误。请考虑添加一个以获得关于该问题的更多信息,尝试为每个循环使用一个用于打印“代码>(InvestInv:InvList)…<代码>),并打印每个对象的“代码> > SytHythHasCODE())/代码>以查看它是否可能是相同的引用。
(for int i = 0; i < invList.size(); ++i){
System.out.print("Investment name: " + invList.get(i).getName());
})