2016-04-04 48 views
0

聲納規則WRT雖然下面的代碼,我們在聲納收到錯誤:錯誤在下面的代碼

entityBuilderMap = Maps.newHashMap(); 

聲納給錯誤爲:

狡猾 - 寫從實例方法

靜態字段

有一個人可以建議如何定出來

+0

您的entityBuilderMap變量是static嗎? – acostela

+0

私人靜態地圖,AbstractBuilder > entityBuilderMap;是的,它是靜態的。 –

回答

0

分配到靜態變量來自實例的值是一種糟糕的設計實踐。這可能會導致您未來遇到錯誤和問題。作爲程序員,我們期望靜態方法分配靜態值。如果我們有兩個不同的實例將其作爲程序員賦值,那麼您會認爲實例正在改變不同的值,但它們是相同的。這非常危險。

你可以閱讀關於這個SO線程的長描述。

Writing to a static variable in an instance method, why is this a bad practice?