2012-03-19 62 views
4

可能重複:
「new」 keyword in Scala當是Scala新要求

伊夫注意到,在Scala中創建某些情況下,你可以使用new離開了。何時需要開發人員使用new?爲什麼有些對象允許你錯過使用它?

感謝

列表( 「本」, 「是」, 「一」, 「列表」)創建的四根弦的列表;沒有 需要新的

地圖(「foo」 - > 45,「酒吧」 - > 76)創建一個字符串映射到INT,沒有新的 要求和沒有笨拙的輔助類。

here兩者..

回答

10

一般斯卡拉集合類定義使用apply方法在他們的同伴對象的工廠方法。 List("this","is","a","list")Map("foo" -> 45, "bar" ->76)是用於調用這些應用方法的語法糖。使用這個約定是相當習慣的scala。

另外,如果您定義了case class C(i: Int),它還定義了一個工廠C.apply(i: Int)方法,該方法可稱爲C(i)。所以沒有需要新的

除此之外,new是創建對象所必需的。