java函数局部变量的坑(非常隐藏)

最近写代码的时候,发现一个比较隐藏的bug:

我在java函数中定义了一个list变量,这个变量的值指向一个枚举类转换成的list(可以理解为常量值),导致代码中有修改该list内容的时候,其他用到这个list的地方也会跟着修改!

非常隐藏的bug,所以,为了避免这个bug,我们需要重新定义一个list,然后调用list的addAll函数,把枚举类中的值复制进去,这样修改只会在函数局部变量里面修改,而不会直接影响枚举类。

原文地址:https://www.cnblogs.com/fxl-njfu/p/12206659.html