我从我的java代码中得到了异常。
java.lang.ClassCastException: scala.collection.immutable.Map$Map1 cannot be cast to java.util.HashMap
at au.com.vroc.udf.medianUDF.update(medianUDF.java:79)
当我将缓冲区转换为HashMap of java.utill时,我的火花应用程序中出现了错误。这是我的密码:
public void update(MutableAggregationBuffer buffer, Row input
class X extends Map[String, String] {
def x(): X = { X() } // can't be compiled
}
无法编译,错误是:
<console>:6: error: not found: value X
def x(): X = { X() } // can't be compiled
为什么找不到X?我看不出怎么改正。
更新:
我现在知道原因了。我想要做的是创建一个扩展HashMap的类,因为Map()将返回HashMap的一个实例,所以我想我只需要扩展Map。现在,正确的代码应该是:
impor
在下面的代码中,我创建了一个Java集合。稍后,当我将其转换为Scala时,我可以在Int中存储null。但是如果我直接创建一个scala map,我就不能存储null。为什么?
scala> import collection.JavaConverters._
import collection.JavaConverters._
scala> val mapJava:java.util.HashMap[String,java.lang.Integer] = new java.util.HashMap[String,java.lang.Integer]
mapJava: jav
我正在练习我的Scala,也就是特征,我有点卡住了。我决定把X战警的种类分成不同的类别和特征。
我被困在Power属性上了。我想要一个单例的力量列表
我想要的基本上是:
var Rogue = new HomosapienSuperior()
Rogue.addPower("Super Human Strength")
使用addPower将检查电源的单例列表,以查看是否添加了能力,如果没有添加,则抛出异常,并告诉用户首先将其添加到电源的单例列表中。
object Power {
val powers = new HashMap[String, String] // pow
我认为下面的代码可以肯定地工作,但是它报告了错误的“类型参数的错误数量。
trait MyTrait[T] {
type Things = Seq[T]
type Cache[K] = scala.collection.mutable.HashMap[K, Option[Things]]
}
abstract class MyImpl[T] extends MyTrait[T] {
val cache = new Cache[String]
}
我把它改为:
trait MyTrait[T] {
type Things = Seq[T]
type Key
type Ca
我正在尝试理解,它与带有默认值的Map有关:
val lists = new mutable.HashMap[String,List[Int]].withDefaultValue(Nil)
lists("dog") ::= 13
lists("cat") ::= 14
lists("dog") ::= 15 //(13, 15)
据我所知,scala使用“嵌套”函数来表示不可变的列表。一个不幸的副作用是迭代不可变列表以相反的顺序返回元素。
为了避免相反的顺序,我尝试使用一个ArrayBuffer来实现它:
val lists = new mu
考虑以下示例
案例1:
>scala val x = 1
x:Int = 1
>scala x = 2
<console>:11: error: reassignment to val
x=2
^
案例2:
scala> val name = new scala.collection.mutable.HashMap[String, Int]
name: scala.collection.mutable.HashMap[String,Int] = Map()
scala>name("Hello") = 1
scala>n
这就是我遇到的错误。
play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[IllegalStateException: Property addition is not supported]]
at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:251)
at play.api.http.DefaultHttpErrorHandler.onServerE
我以前用Python来处理统计数据。例如,一个大型文件包含数以千万计的ids:
$ cat report_ids | head
3788065
7950319
140494477
182851142
120757318
160033281
78087029
42591118
104363873
212143796
...
在IPython中,下面的行总是工作得很好。
In [1]: lines = [line.strip() for line in open('./report_ids').readlines()]
In [2]: from collections impo
我创建了以下类:
class Foo[T] extends collection.mutable.HashMap[T, Int] {...}
(这个类有一些方法,但是要重现这个问题,它不需要任何方法。)
当我克隆这个类的一个实例并尝试使用它作为Foo的另一个实例时,我会得到以下类型的错误:
scala> val f = new Foo[String]
f: Foo[String] = Map()
scala> val anotherF: Foo[String] = f.clone
<console>:9: error: type mismatch;
found :
如果我们使用map,那么就不需要导入不可变的映射。
scala> val map=Map[String,Int]()
map: scala.collection.immutable.Map[String,Int] = Map()
但是如果我们使用HashMap,那么如果不进行导入,它就会产生错误。
scala> val a=HashMap[Int,Int]()
<console>:7: error: not found: value HashMap
val a=HashMap[Int,Int]()
^
但是,执行导入scala.
我在Android设备上运行了以下Scala代码:
// create Map
val myMap1 = new HashMap[Int, String]()
myMap1.put(1, "a")
// write it to file
val outStream = context.openFileOutput("test.txt", Context.MODE_PRIVATE)
val ostream = new ObjectOutputStream(outStream)
ostream.writeObject(myMap1)
ostream.close
我试图在Scala中嘲弄一个Scala。然而,我得到了一个NullPointerException。
以下是我的模拟代码:
val kafkaConsumerMock: KafkaConsumer[String, Any] = mock[KafkaConsumer[String, Any]]
我得到的错误是:
java.lang.NullPointerException
at java.util.HashMap.putMapEntries(HashMap.java:501)
at java.util.HashMap.<init>(HashMap.java:490)
我正在尝试在Scala中构建嵌套的map,其中外层和内部map都使用"withDefaultValue“方法。例如,以下内容:
val m = HashMap.empty[Int, collection.mutable.Map[Int,Int]].withDefaultValue( HashMap.empty[Int,Int].withDefaultValue(3))
m(1)(2)
res: Int = 3
m(1)(2) = 5
m(1)(2)
res: Int = 5
m(2)(3) = 6
m
res : scala.collection.mutable.Map[Int,sc
我有一个不可变的HashMap,想要在其中添加/删除值。告诉我必须使用+=和-=方法,但它们不起作用,我得到以下错误:
error: value += is not a member of scala.collection.immutable.HashMap
如何在Scala的HashMap中添加或删除值?
我仍然是一个新手Scala程序员,所以如果这个问题看起来很天真,我很抱歉,但我寻找了一段时间,没有找到解决方案。我使用的是Scala2.8,我有一个定义为: PXGivenZ的类:
class PXGivenZ (val x:Int, val z:Seq[Int], val values: Map[Seq[Int], Map[Int, Double]] ){...}
当我尝试将该类的一个元素实例化到另一个程序块中时,如下所示:
// x is an Int
// z is a LinkedList of Int
...
var zMap = new HashMap[Seq[Int], Hash