我尝试将多个记录添加到列表中并重新启动。但它只显示最新添加的记录。
这是我的代码
List<ExportBean> exportBeans = new ArrayList<ExportBean>();
ExportBean exportBean = new ExportBean();
exportBean.setBooleanValue(true);
exportBean.setKeyValue("PRE_APPROVED_OFFER");
exportBean.setStringValue("111");
exportBeans.add(exportBean);
exportBean.setBooleanValue(true);
exportBean.setKeyValue("PRE_APPROVED_OFFER1");
exportBean.setStringValue("222");
exportBeans.add(exportBean);
getLopRefNo(exportBeans);
字符串
当我把它
def getLopRefNo = {
exportBeans->
println "in function ${exportBeans}"
}
型
它只显示
in function [ExportMessagingBean{stringValue='222', keyValue='PRE_APPROVED_OFFER1', exportBoolean=true}, ExportMessagingBean{stringValue='222', keyValue='PRE_APPROVED_OFFER1', exportBoolean=true}]
型
它没有显示添加的第一条记录。它缺少什么吗?
2条答案
按热度按时间wb1gzix01#
这个问题与Groovy无关,在你的代码中,你实际上不是在添加两个对象,而是在添加一个对象并修改它。
字符串
你调用
add
的对象已经存在于列表中,所以它没有效果。你应该做的是创建另一个ExportBean
的示例,像这样:型
kh212irz2#
在代码中只有一个
ExportBean
对象(你只说了一次new ExportBean()
),所以你已经将同一个对象添加到列表中两次了。你对bean上的set
方法的第二组调用只是更新你现有的对象,而不是创建一个新的对象。