【发布时间】:2015-04-24 18:08:26
【问题描述】:
我会想到下面的代码:
val a = Array(1, 2, 3, 4, 5)
println(a.map(n => "x"))
可以简写为:
val a = Array(1, 2, 3, 4, 5)
println(a.map("x"))
但后者给了我下面的例外。这是为什么呢?
java.lang.StringIndexOutOfBoundsException:字符串索引超出范围: 1 java.lang.StringIndexOutOfBoundsException:字符串索引超出 范围:1 在 java.lang.String.charAt(String.java:658) 在 scala.collection.immutable.StringLike$class.apply(StringLike.scala:52) 在 scala.collection.immutable.WrappedString.apply(WrappedString.scala:33) 在 scala.collection.immutable.WrappedString.apply(WrappedString.scala:33) 在 scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) 在 scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) 在 scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) 在 scala.collection.mutable.ArrayOps$ofInt.foreach(ArrayOps.scala:234) 在 scala.collection.TraversableLike$class.map(TraversableLike.scala:245) 在 scala.collection.mutable.ArrayOps$ofInt.map(ArrayOps.scala:234)
【问题讨论】:
标签: scala