2013-05-12 139 views
1

Scala中这是确定为什么新的失败?

val v = Vector(1,2,3) 

这是不正常

val v = new Vector(1,2,3); 

你得到:

java.lang.NullPointerException 
                //| at scala.collection.immutable.VectorIterator.next(Vector.scala:660) 
                //| at scala.collection.Iterator$$anon$10.next(Iterator.scala:312) 
                //| at scala.collection.Iterator$$anon$11.next(Iterator.scala:328) 
                //| at scala.collection.Iterator$class.foreach(Iterator.scala:727) 
                //| at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) 
                //| at scala. 

为什么?

+0

矢量应该没有新的调用。如Scaladocs所示,用new来调用它是一个错误,https://issues.scala-lang.org/browse/SI-7373 – 2013-05-12 11:41:28

回答