草庐IT

SCALA_HOME

全部标签

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 - java.home 和 JAVA_HOME 的区别

在我的java代码中,我有这一行System.getProperty("java.home")。在某些环境中,这将返回与设置为JAVA_HOME的环境变量相同的值。但在某些环境中,System.getProperty("java.home")返回的值与JAVA_HOME完全不同。所以我的问题是,从Java的角度来看,java.home和JAVA_HOME有什么区别?我查了下知道JAVA_HOME是jdk的安装路径,java.home是jre的安装路径,但是为什么不能匹配jre可以jdk安装的一部分。 最佳答案 正如您所说,JAVA_

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 - 为什么catalina.home_IS_UNDEFINED目录是Logback在同一个项目目录下生成的?

我已经为我的应用程序编写了logback配置文件,但是当我进行mavencleaninstall(mvncleaninstall)时,它在项目目录中生成了一个带有日志文件的catalina.home_IS_UNDEFINED目录。为什么会生成这个目录?我不希望它出现在我的项目目录中。对解决这个问题有什么帮助吗?这是配置文件。%date{HH:mm:ss.SSS}%-5p[%t]%c{1}-%m%n${catalina.home}/logs/myApplication.log${catalina.home}/logs/myApplication.%d{yyyy-MM-dd}.log%-5

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