【发布时间】:2015-08-28 20:48:10
【问题描述】:
Scala 标准库中的许多类都使用其伴随对象的apply() 作为工厂。这在链接像List(List(1)) 这样的调用时通常很方便。另一方面,仍然可以直接使用new (new HashMap[Int, Int]()) 创建对象。
这是标准库。现在,在我自己的代码中,哪种方法更好用:伴随工厂还是使用new 创建对象?
对于何时创建伴随对象工厂以及何时使用new 关键字是否有任何约定?
使用一个比另一个有什么优势?
【问题讨论】:
-
因为使用
new就像戴着礼帽或吊带。它对于某种风格来说很时尚,但不是很现代。配套工厂是一条休闲版型牛仔裤。
标签: scala conventions companion-object