有一個聲納違規:聲納違規:安全 - 陣列直接存儲
聲納違規:安全 - 陣列直接存儲
public void setMyArray(String[] myArray) {
this.myArray = myArray;
}
解決方案:
public void setMyArray(String[] newMyArray) {
if(newMyArray == null) {
this.myArray = new String[0];
} else {
this.myArray = Arrays.copyOf(newMyArray, newMyArray.length);
}
}
但我想知道爲什麼?
嗯...這個解決方案沒有工作對我來說,其實。聲納仍然拿起它並抱怨,儘管做了一個副本。 – ndtreviv 2013-10-07 15:30:51
@ndtreviv所以你如何解決它? – sakura 2014-03-27 13:32:46
@ndtreviv:我也遇到過這個問題,如果提供給方法的本地變量的名稱與您正在存儲的實例變量相同,則此錯誤不會消失。確保它們不同,並且上述解決方案應該可以工作。 我通過以下鏈接找到了這個[鏈接](http://sonarqube.15.x6.nabble.com/Security-Array-is-stored-directly-weirness-td3632714.html) – Matt 2014-06-03 21:00:56