声纳违规:安全 - 数组直接存储 - 为什么只有数组?

时间:2014-06-04 14:43:38

标签: java sonarqube

我在问这里之前已经看过link,我想知道为什么SONAR只抱怨数组而不是自定义对象。

因为我们在bean中声明的自定义对象中也会出现同样的问题。而且,我不能同意为什么我们需要复制,因为我们喜欢修改相同的数组,这就是为什么我们有setter并且一切正确?

请帮助我理解,SONAR在此类别中显示更多违规行为。

1 个答案:

答案 0 :(得分:1)

应避免共享可变状态,因为它可能会导致程序出错。特别是如果您在多线程环境中工作。它也可以使你的程序可读性降低。这就是为什么通信抛出修改相同的状态应该至少是最小化。

复制集合和数组以及日期是常见做法,以确保您不在您的类/线程中使用从其他对象/线程提供的相同对象。