我正在尝试使用scala/java为对象更新创建一个通用方法,但我无法获取类型参数的类.
这是我的代码:
object WorkUnitController extends Controller {
def updateObject[T](toUpdate: T, body: JsonObject){
val source = gson.fromJson(body, classOf[T]);
...
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
需要类类型但是找到了T.
我知道在java中你不能这样做但是scala中有可能吗?
谢谢!
有没有人知道是否有一个Jenkins/Hudson插件,当构建被破坏时,它允许你设置一些状态(就像我将修复它!),以便团队中的其他人知道
谢谢你的帮助
我有以下代码用字母打印从1到9的数字
class IntToNumber(num:Int) {
val digits = Map("1" -> "one", "2" -> "two", "3" -> "three", "4" -> "four", "5" -> "five", "6" -> "six", "7" -> "seven", "8" -> "eight", "9" -> "nine")
def inLetters():String = {
digits.getOrElse(num.toString,"")
}
}
implicit def intWrapper(num:Int) = new IntToNumber(num)
(1 until 10).foreach(n => println(n.inLetters))
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我收到一条错误消息,指出该方法不适用于Long
Script.scala:9: error: value inLetters is not a member of Long
(1 until 10).foreach(n => println(n.inLetters))
^
one error found
Run Code Online (Sandbox Code Playgroud)
将最后一行更改为
(1 until 10).foreach(n => println(n.toInt.inLetters))
Run Code Online (Sandbox Code Playgroud)
工作良好..
有人可以帮助我理解为什么那个(1到10)范围返回Long而不是int?
我正在开发一个sbt Task,我想访问一些应用程序类和依赖项.(具体来说,我想使用scalaquery生成数据库DDL)
有没有办法将这些依赖项添加到任务中,或者我需要为此创建一个插件?
object ApplicationBuild extends Build {
val appName = "test"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
"org.scalaquery" % "scalaquery_2.9.0-1" % "0.9.5")
val ddl = TaskKey[Unit]("ddl", "Generates the ddl in the evolutions folder")
val ddlTask = ddl <<= (baseDirectory, fullClasspath in Runtime) map { (bs, cp) =>
val f = bs / "conf/evolutions/default"
// Figures out the last sql number used
def nextFileNumber = { ... }
//writes to file
def printToFile(f: java.io.File)(op: java.io.PrintWriter => Unit) { …Run Code Online (Sandbox Code Playgroud) 给定一个元组类型
type T = (String, Int, String)
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以得到一个类型T1,其中T1将是
type T1 = (MyClass, String, Int, String)
Run Code Online (Sandbox Code Playgroud)
我希望能够宣布一个类似的课程
class TupleTypes[T] extends AnotherClass[T1]
Run Code Online (Sandbox Code Playgroud)
注意:元组大小未知且
type T1 = (MyClass, T)
Run Code Online (Sandbox Code Playgroud)
不会返回我想要的东西,它将返回(MyClass,(String,Int,String))这是不同的.
谢谢
有些东西我不太明白希望有人可以解释一下..我有Seq [String]
val strDeps: Seq[String] = ...
Run Code Online (Sandbox Code Playgroud)
我尝试在使用sortWith方法的反向排序它,我得到以下错误.
scala> print(strDeps.sortWith(_.reverse.compareTo(_.reverse) < 0) mkString ("\n"))
<console>:15: error: wrong number of parameters; expected = 2
print(strDeps.sortWith(_.reverse.compareTo(_.reverse) < 0) mkString ("\n"))
^
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试排序而不做反向时它工作正常.
scala> print(strDeps.sortWith(_.compareTo(_) < 0) mkString ("\n"))
// this is fine
Run Code Online (Sandbox Code Playgroud)
它没有占位符语法也可以正常工作
scala> print(strDeps.sortWith((a,b) => a.reverse.compareTo(b.reverse) < 0) mkString ("\n"))
// this works fine too
Run Code Online (Sandbox Code Playgroud)