什么时候scala需要新的

时间:2012-03-19 01:22:03

标签: scala new-operator

  

可能重复:
  “new” keyword in Scala

我注意到在Scala中创建某些实例,您可以使用new。什么时候开发人员需要使用new?为什么有些物品会让你错过使用它?

由于

  

List(“this”,“is”,“a”,“list”)创建这四个字符串的List;没有   新要求

     

Map(“foo” - > 45,“bar” - > 76)创建一个String到Int的Map,没有新的   必要而且没有笨拙的助手类。

取自here ..

1 个答案:

答案 0 :(得分:12)

通常,scala集合类使用apply方法在其伴随对象中定义工厂方法。 List("this","is","a","list")Map("foo" -> 45, "bar" ->76)是用于调用这些apply方法的语法糖。使用这个惯例是相当惯用的scala。

此外,如果您定义case class C(i: Int),它还会定义一个工厂C.apply(i: Int)方法,可以将其称为C(i)。所以不需要 new

除此之外,创建对象需要new