小编use*_*602的帖子

从方法返回泛型类型的实例

我想有一个方法getInstance,它接受一个字符串值并返回一个对象的实例,在方法签名中定义为泛型

  def getInstance[T](dataStr: String): Option[T] = {
      T match {
        case typeOf[String] => Some(dataStr)             // if type of T is String 
        case typeOf[Integer] => Some(dataStr.toInt)      // if type of T is Integer
        case typeOf[Boolean] => Some(dataStr.toBoolean)  // if type of T is Boolean
        case _ => throw new NoSuchElementException()
      }
  }
Run Code Online (Sandbox Code Playgroud)

如何在Scala中编写相同的内容?

Scala版本:2.11

scala

2
推荐指数
1
解决办法
48
查看次数

如何reRender许多组件

我正在使用一个丰富的:combobox(比如说id ="PARENT")并且想根据第一个丰富的选择属性改变另外两个富人的下拉列表:combobox(比如"CHILD1"和"CHILD2"):combobox(PARENT) ).

这该怎么做 ?

为了只改变一个rich:combobox(仅限CHILD1),我在"PARENT"中使用了a4j:support(reRender)标签,但对于两个,我没有得到.

jsf richfaces java-ee

1
推荐指数
1
解决办法
7774
查看次数

功能编程:从具有更改值的现有地图获取新地图

我有一张地图

val strMap = Map[String, String]("a" -> "a1", "b" -> "b1") // Map(a -> a1, b -> b1)
Run Code Online (Sandbox Code Playgroud)

我想根据strMap中的值创建另一个具有相同键但值不同的地图.例如

case class Data(data: String) {}
var dataMap = scala.collection.mutable.Map[String, Data]()
strMap.foreach (keyVal => {dataMap(keyVal._1) = Data(keyVal._2)})
val dataMapToUse = dataMap.toMap // Map(a -> Data(a1), b -> Data(b1))
Run Code Online (Sandbox Code Playgroud)

但是以命令式方式编写这个问题会引起像创建"var dataMap"这样的问题,尽管我想获得不可变的地图.因此,我必须调用toMap来获得相同的结果.如何在函数式编程中实现相同的功能?

Scala版本:2.11

functional-programming scala

1
推荐指数
1
解决办法
115
查看次数

在Json中收集DataFrame列的数据

我有一个DataFrame,其中两列为"key":id1和id2:

val df1 = Seq(
  (1, 11, "n1", "d1"),
  (1, 22, "n2", "d2"),
  (2, 11, "n3", "d3"),
  (2, 11, "n4", "d4")
).toDF("id1", "id2", "number", "data")

scala> df1.show
+---+---+------+----+
|id1|id2|number|data|
+---+---+------+----+
|  1| 11|    n1|  d1|
|  1| 22|    n2|  d2|
|  2| 11|    n3|  d3|
|  2| 11|    n4|  d4|
+---+---+------+----+
Run Code Online (Sandbox Code Playgroud)

我想得到Json,按数据框的键分组,如下所示:

+---+---+-------+----------------------------------------------------------+
|id1|id2| json                                                             |
+---+---+-------+----------------------------------------------------------+
|  1| 11|[{"number" : "n1", "data": "d1"}]                                 |
|  1| 22|[{"number" : "n2", "data": "d2"}]                                 |
|  2| 11|[{"number" …
Run Code Online (Sandbox Code Playgroud)

json scala apache-spark apache-spark-sql

1
推荐指数
1
解决办法
50
查看次数

使用Mockito在Scala对象中模拟一个函数

我有类似链接中提到的问题:如何使用Mockito模拟Scala对象中的函数?

我有一个FooInner方法对象stringData,它接受int并给出字符串输出

object FooInner {
  def stringData(data: Int): String = {
    data match {
      case 1 => "one"
      case _ => "else"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

另一个对象,FooOuter调用FooInner获取字符串数据并对其执行一些操作.

object FooOuter {
  def dummyCall(data: Int): String = {
    FooInner.stringData(data) + "some operation"
  }
}
Run Code Online (Sandbox Code Playgroud)

我的目标是测试FooOuter.dummyCall字符串数据的方法,而不是返回FooInner.stringData

同样,我按照上面提到的帖子并创建了特征

trait TFooInner {
  def stringData(data: Int): String
}
Run Code Online (Sandbox Code Playgroud)

将FooInner的签名更改为

object FooInner extends TFooInner {..}
Run Code Online (Sandbox Code Playgroud)

并创建了测试类FooTests

class FooTests extends FlatSpec with Matchers with MockitoSugar{
  "dummyCall" should …
Run Code Online (Sandbox Code Playgroud)

scala mockito

0
推荐指数
1
解决办法
93
查看次数