当我想在void方法中直接修改参数list的值时,有些不能生效,不能修改成功。以下为解决办法。
其实方法很简单,就是把等于号= 换成 .addAll()的写法。
不生效代码展示
忽略service那里标红,我改了代码举个例子。。
如图,我是想要传入两个list,然后修改他们的值再进行其他操作。当我传的dto.getPageType()为2的时候,我发现在这个方法中dataList有值,但是调用该方法后的其他方法里面,dataList就没值了,是我初始化的[]。再发现newLineStr这个列表竟然有值。
仔细思考应该与现在idea颜色提示有关,其实我没有真正的修改列表值。当我传的dto.getPageType()为2的时候,调用该方法后newLineStr也没值了。
所以需要修改该方法让两个列表变成黑色-_-|||
生效代码
其实方法很简单,就是把等于号= 换成 .addAll()的写法。测试之后发现调用该方法后的代码也能取到列表值,列表在void方法中修改成功。
哈哈哈哈哈哈哈~