有一个ListMap具有以下值:
阶>的 mx_sorted
res30: scala.collection.immutable.ListMap[Int,Int] = Map(0 -> 0, 5 -> 1, 10 -> 10, 15 -> 66, 20 -> 157, 25 -> 175, 30 -> 135, 35 -> 106, 40 -> 88, 45 -> 80, 50 -> 62, 55 -> 32, 60 -> 19, 65 -> 8, 70 -> 4, 75 -> 0, 80 -> 0)
阶>的 mx_sorted.foreach(的println)
(0,0)
(5,1)
(10,10)
(15,66)
(20,157)
(25,175)
(30,135)
(35,106)
(40,88)
(45,80)
(50,62)
(55,32)
(60,19)
(65,8)
(70,4)
(75,0)
(80,0)
创建了DefaultCategoryDataset
val ds = new org.jfree.data.category.DefaultCategoryDataset
当我尝试向此数据集添加值时,会收到错误。
阶> mx_sorted.foreach {case(k,v)=> ds.addValue(V, “UserAges” 中,k)}
<console>:41: error: overloaded method value addValue with alternatives:
(x$1: Double,x$2: Comparable[_],x$3: Comparable[_])Unit <and>
(x$1: Number,x$2: Comparable[_],x$3: Comparable[_])Unit
cannot be applied to (Int, String, Int)
mx_sorted.foreach{case(k,v) => ds.addValue(v,"UserAges",k)}
请帮助纠正这个问题。
答案 0 :(得分:1)
快速解决方案为{case(k,v) => ds.addValue(v: Double, "UserAges", k: java.lang.Integer)}
(java.lang.
不是必需的,可能两者都不是: Double
,我只是将其包括在内以使其更清晰)。问题是Int
没有扩展Comparable
(因为它对应于原始JVM int
类型),所以它需要被装箱到java.lang.Integer
。{ / p>