草庐IT

scala-cats

全部标签

java - Scala 和 Java 的 future 显然有意想不到的互动

我们在ScalaPlayFramework应用程序中使用Elasticsearch0.90.7,其中“doSearch”方法的结尾如下所示:defdoSearch(...)={...valactionRequessBuilder:ActionRequestBuilder//constructedearlierinthemethodvalexecutedFuture:ListenableActionFuture=actionRequestBuilder.executereturnexecutedFuture.actionGet}其中ListenableActionFutureextend

java - 在 Intellij 中导入 Scala 库时出现问题

我正在尝试将一个项目导入到intellij中。我正在使用javasdk并尝试导入scala库。当我尝试运行我的代码时,我得到了Warning:scala:skippingScalafileswithoutaScalaSDKinmodule(s)main当我尝试添加scala库时:File>ProjectStructure>GlobalLibraries>+>scala-sdk(2.11.7)>Apply我收到另一条错误消息:Module"lab1"mustnotcontainsourceroot"C:\Users\Andrew\lab1\src\main\scala".Theroota

java - Scala 和 Java 泛型——提取和返回嵌套类型

Java泛型可以根据表达式的返回类型推断出泛型类型参数的类型。请考虑以下事项:publicstaticTuncheckedCast(Objecto){return(T)o;}我们可以这样调用它:MapbazbogMap=newHashMap();Stringfoo=uncheckedCast(bazbogMap);这将编译但抛出RuntimeException当它被调用时,因为它会尝试转换Map到String但失败了。但重点是Java推断出的值。基于调用站点的预期结果类型。我们也可以在Scala中使用:defuncheckedCast[T](o:AnyRef):T=o.asInstan

IntelliJIDEA for Scala 中的 Java 字节码反编译器

我使用的是IntellijIDEA终极版。浏览从java源代码编译的.class文件很容易:我只需双击.class文件,IDEA就会反编译它。但是,对于从scala源代码编译的.class文件,它不起作用。似乎IDEA只是引用了scala源文件。我注意到只有在安装了scala插件的情况下,IDEA才会表现得像那样。没有它它工作正常。有没有办法在不关闭scala插件的情况下使用IDEA进行反编译? 最佳答案 最终在Intellij中发布了此功能。来自officialwebsite:YoucandecompileyourScalacod

java - 收集参数以应用于 Java/Scala 中的柯里化(Currying)函数

我想在Java8中创建一个类,它能够递归地创建一个对象,该对象具有一个根据我添加的参数采用函数参数的方法。例如,我希望能够这样做:newX().param(23).param("someString").param(someObject).apply((Integera)->(Stringb)->(Objectc)->f(a,b,c))然后apply方法会将收集到的参数应用到给定的函数。我觉得这应该可以在保持类型安全的同时无需反射(reflection),但我不太清楚如何做到这一点。如果我可以将其转换为Java8,也欢迎使用Scala中的解决方案。如果不可能,我也会接受解释原因的答案。

java - 如何声明 scala 方法以便可以使用可变参数样式从 Java 调用它

我在Scala库类中有2个简单的方法:classFoo{defbar(args:String*):Unit=println("Foo.barwith:"+args)defbar(args:Array[String]):Unit=bar(args.toSeq:_*)}这一切都很好地编译。然后我将其放入库foo.jar并尝试编译以下Java代码:importFoopublicclassTest{publicstaticvoidmain(String[]args){Foofoo=newFoo();foo.bar("Hello","World");//DOESNOTCOMPILE}}我可以将有

java - 如何将 Java 字节数组转换为 Scala 字节数组?

我是Scala的新手,目前正在从事一个涉及Java和Scala模块的项目。现在我想使用byte[]类型的参数从Java调用Scala方法。Scala方法具有签名:deffoo(data:Array[Byte])Java调用如下所示:foo(x),其中x的类型为byte[]。IDE告诉我这是不可能的:Themethodfoo(Array)inthetypeBarisnotapplicableforthearguments(byte[])作为附加约束,不建议更改Scala方法。在Java方面,我尝试使用Byte[],但这并没有解决问题。一定存在某种转换? 最佳答

java - scala @Serializable 和 Java Serializable 有什么区别?

scala@Serializable的Action方式与JavaSerializable不同吗?我的意思是序列化对象的方式还是两者都使用相同的标准序列化? 最佳答案 Scala可以编译为JVM字节码,所以唯一的区别在于Scala如何实现这种转换。Scala在类型检查期间将注解转换为接口(interface),这可能会导致一些微妙的问题seehere.无论如何,Afaik@Serializable已被弃用-与scala中的其他注释(volatile注释而不是说明符)相比,我无论如何看不到太多优势..不会使代码更清晰或更简单。

java - 运行 Scala jar 文件时出现 NoClassDefFoundError

我有一个带有RemoteActor的小应用程序,我想从中制作一个jar文件。当我尝试执行它时出现此异常:Exceptioninthread"main"java.lang.reflect.InvocationTargetExceptionatsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)atsun.reflect.DelegatingMethodAccessorI

java - Json.obj Scala,字符串连接 : Compilation error

我正尝试在Scala中做下一步,我正在使用play2:valstr="another"valr=Json.obj("error_type"->"invalid_request_error","validation_errors"->(Json.obj("code"->"thismode"+str+"doesnotexist","param"->"mode")))但它给了我错误:Type mismatch, expected: (String, Json.JsValueWrapper), actual: String但如果我这样做:valr=Json.obj("error_type"->