草庐IT

scala-cats

全部标签

java - 使用原语从 Scala 调用 Java vararg 方法

我在Java中有以下代码:publicclassJavaClass{publicstaticvoidmethod(Objectx){}publicstaticvoidvarargsMethod(Object...x){}}当我尝试从Scala访问它时,objectFooUser{JavaClass.method(true)JavaClass.varargsMethod(true)//我得到以下编译错误:typemismatch;found:Boolean(true)required:java.lang.ObjectNote:primitivetypesarenotimplicitlyc

java - 如何在 Scala 中向现有 Java 类添加工厂方法

在纯Scala环境中,如果我想向现有对象“添加”工厂方法,我可以执行以下操作:objectTestobjectExtensions{objectRichTest{defsomeFactory=newTest()}implicitdeffromTest(t:Test.type)=RichTest}...importExtensions._valt=Test.someFactory我需要将这样的功能与现有的Java类结合使用。在我的具体示例中,我想向类com.google.android.maps.GeoPoint添加工厂方法fromLocation(我想每个Android开发人员都知道为

java - 在 Scala 中使用重载的 vargs 方法覆盖 Java 接口(interface)

有没有办法在Scala中实现以下Java接口(interface)?publicinterfaceRequest{voidacceptLanguage(Locale...locales);voidacceptLanguage(String...locales);}我试过:overridedefacceptLanguage(locales:Locale*):Unit=overridedefacceptLanguage(locales:String*):Unit=但这给了我:error:doubledefinition:havesametypeaftererasure我试过这个:overr

Java 调用带有隐式参数的 Scala 案例类?

他,如何从Java调用具有隐式参数的Scala案例类?斯卡拉:objectLoggable{caseclassRunUnit(valid:Integer){overridedeftoString()=id.toString()}caseclassRun(valid:Integer,valunit:RunUnit,valstart:Long)(implicitdb:DB){...}}Java:publicclassJTest{publicstaticvoidmain(String[]args){//worksfineLoggable.RunUnitru=newLoggable.RunUn

java - 将 Singleton 对象作为枚举元素的 Scala 枚举以及迭代它们的可能性?

我已经看过ScalaquestionaboutemulatingJava'senum和caseclassesvs.Enumeration但这似乎付出了太多的努力却获得了太少的yield。基本上,我希望有一个values方法返回DayOfWeek的所有单例对象,而无需重复我自己几次。我的代码应该是这样的:objectDayOfWeekextendsMyEnum{objectMONDAYextendsDayOfWeek(1)objectTUESDAYextendsDayOfWeek(2)objectWEDNESDAYextendsDayOfWeek(3)objectTHURSDAYexte

java - Scala如何区分()=>T和=>T

我的otherquestion被重复关闭,所以我会再试一次。我也读过thisquestion而我要问的是不同的。我有兴趣了解如何Call-by-Name:=>Type的内部实现不同于()=>Type.我的困惑来自于查看javap和cfr反汇编在这两种情况下没有区别。例如ParamTest.scala:objectParamTest{defbar(x:Int,y:=>Int):Int=if(x>0)yelse10defbaz(x:Int,f:()=>Int):Int=if(x>0)f()else20}javap输出javapParamTest.scala:publicfinalclass

java.lang.Boolean 到 scala.Boolean 的问题

georgii@gleontiev:~$scalaWelcometoScalaversion2.8.1.final(JavaHotSpot(TM)64-BitServerVM,Java1.6.0_24).Typeinexpressionstohavethemevaluated.Type:helpformoreinformation.scala>valjbool=java.lang.Boolean.TRUEjbool:java.lang.Boolean=truescala>valsbool=truesbool:Boolean=truescala>defsboolMethod(sbool:

java - 在 scala 项目中,编译器错误 - 无法解析符号列表?

我是Scala的新手。我在Ubuntu12.04上安装了java、sbt和scala:nazar_art@nazar-desctop:~$sbtsbt-version[warn]Alternativeprojectdirectory.sbt(/home/nazar_art/.sbt)hasbeendeprecatedsincesbt0.12.0.[warn]Pleaseusethestandardlocation:/home/nazar_art/project[info]Loadingprojectdefinitionfrom/home/nazar_art/.sbt[info]Setc

java - 在 Scala 中实现内部特征,就像我们在 Java 中实现内部接口(interface)一样

这段Java代码编译没有错误:interfaceT{interfaceQ{}}classCimplementsT.Q{}而Scala中的这段代码不会:traitT{traitQ{}}classCextendsT.Q{}Java代码list到Scala的正确翻译(如果存在)是什么?欢迎提供有关语言设计的理论解释。 最佳答案 内部类型Q仅为T的特定实例实现定义特征。由于scala具有路径相关类型,因此T的每个实例会有自己的子特征Q.scala>traitT{|traitQ|}definedtraitTscala>classCextend

java - 如何以正确的方式创建 Scala 项目?

我想在Scala中创建项目,具有适当的目录结构、测试目录等。我完全不熟悉Java,所以请告诉我该怎么做?我应该使用哪些工具(maven?)?如何放置测试并配置它们以查看我的项目类?我使用eclipse作为IDE。任何帮助-网络资源、链接我将不胜感激:) 最佳答案 大多数Scala程序员使用sbt,顺便说一下,这也是TypesafeStack的一部分要用它创建一个项目,请遵循GettingStartedGuide 关于java-如何以正确的方式创建Scala项目?,我们在StackOver