您何时会在Java中声明任何静态数据结构?

时间:2016-02-25 22:24:08

标签: java arraylist static

我正在阅读我的一位朋友写的代码,用来存储使用arraylist的用户帐户。所以他声明了私有静态ArrayList = new ArrayList<>();我理解这一部分,但我不确定他为什么宣称它是静态的。这让我想到了这个问题:什么时候将数据结构声明为静态是个好主意?

1 个答案:

答案 0 :(得分:1)

这个问题需要一个非常微妙的答案,但是:

  

什么时候将数据结构声明为静态是个好主意?

NEVER

静态成员是许多邪恶的根源。它们使得课程不那么可重复使用。他们使课程更难/不可能测试。默认情况下,它们使类非线程安全,这可以解决,但很难做到正确并且可能导致性能问题。他们把管理资源的责任放在了错误的地方。

这是一个非常大的OOD主题,已经在很大程度上进行了讨论,所以我只是指出一个值得查阅的常用首字母缩略词:SOLID原则。