`

[OH NO!]集合操作错误

阅读更多

调用私有方法,

List<OrderLines>   lineChange=validateLineChange(newLines, oldLines);

 

 

private List<OrderLines>  validateLineChange(List<OrderLinesOperateForm> newLines,

List<OrderLines> oldLines) {

List<OrderLines> updateLines=new ArrayList<OrderLines>();

//这里需将oldLines的集合内容改掉

错误的方法oldLines= updateLines.

 

                正确的方法如下

              oldLines.clear();

oldLines.addAll(updateLines);

            //原因:集合在传参过程中,用的是引用,如果用 等号去改其内容,实际上是修改指针的指向,而原集合的内容没有发生变化 。

return changes;

 

 

记录每次的小错误。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics