草庐IT

scala-option

全部标签

java - Apache 公共(public) CLI : how to prevent using short-name for options?

在ApacheCommonsCLI库中,是否可以绕过短名称的使用,从而强制用户使用长名称?通常,选项定义如下:newOption("u","username",true,"automaticusername")我想禁止使用“u”。但是,如果我用null或空字符串替换它,就会出现异常...为什么有这个要求?我希望我的所有选项都只采用--optionName=optionValue的形式,因为我的应用程序的某些部分是SpringBoot并且SpringBoot默认识别这种格式的选项。此外,为了在开发人员和用户之间保持一致并简化文档,我发现如果我们有一种独特的方式来使用一个选项而不是2个选项

java - 从 Java 调用 Scala 代码?

我正在使用Netbeans编写Scala和Java。Netbeans为Scala项目生成了一个.jar文件。我尝试在Java项目中导入该文件。但是我无法将该.jar文件中的任何类导入到我的Java项目中。我还尝试将scala-library.jar导入java项目,并且可以从该jar导入类。我想用Scala编写我的库,然后公开一个只涉及Java东西的小接口(interface),然后编写一个Java包装器,以便人们可以将它用作Java包。那可能吗?我该怎么做?非常感谢。 最佳答案 这样做应该没有问题。您是否已验证(例如使用WinZi

java - 我如何从 Java 反射调用 Scala 对象上的方法?

我有一个如下定义的scala对象:packagecom.exampleobjectFoo{defbar():String="InterestingResult"}我知道如果Foo在构建和运行时类路径中,我可以从Java调用Foo$.MODULE$.bar(),但在我的情况下Foo不在构建类路径中,可能会也可能不会在运行时类路径中配置。在我的Java代码中,如果运行时类路径中可用,我想使用反射来调用bar(),否则我将回退到默认实现。这有可能吗? 最佳答案 你可以用看起来像这样的代码来做到这一点:packagecom.example.

java - 从 scala 调用重载的 java 泛型方法

我正在使用Mockito通过返回未参数化ArrayList的方法来模拟对象,但我不知道如何让它工作要模拟的方法签名publicjava.util.ArrayListgetX()测试代码varmockee=mock(classOf[Mockee])when(mockee.getX).thenReturn(Lists.newArrayList(x):ArrayList[_])这实际上在IntelliJ中编译得很好,但在运行时抛出:[error]....scala:89:overloadedmethodvaluethenReturnwithalternatives:[error](java.

java - 我可以从 Java 访问 Scala 对象的不带括号的 val 吗?

给定以下Scala对象:objectScalaObject{valNAME="Name"}似乎Scala编译器生成了一个无参数方法来访问NAME字段。但是,当我尝试从Java访问此字段时,访问此字段的唯一方法似乎是作为无参数方法,例如:System.out.println(ScalaObject$.MODULE$.NAME());有没有办法让Scala编译器允许Java按照预期的Java习惯用法访问val:System.out.println(ScalaObject$.MODULE$.NAME); 最佳答案 严格来说,答案是否定的,

Java 与 Scala 泛型和装箱的互操作性问题

假设我有这个Scala特性:traitUnitThingy{defx():Unit}提供Java实现非常简单:importscala.runtime.BoxedUnit;publicclassJUnitThingyimplementsUnitThingy{publicvoidx(){return;}}现在让我们从一个通用特征开始:traitFoo[A]{defx():A}traitBarextendsFoo[Unit]上面的方法行不通,因为x返回的单元现在是装箱的,但解决方法很简单:importscala.runtime.BoxedUnit;publicclassJBarimpleme

java - 为什么 Java Optional 性能会随着链接调用的数量而增加?

最近有人问我关于java8Optional的性能。经过一番搜索,我找到了thisquestion和几篇博客文章,答案相互矛盾。所以我使用JMH对其进行了基准测试我不明白我的发现。这是我的基准测试代码的要点(fullcode在GitHub上可用):@State(Scope.Benchmark)publicclassOptionalBenchmark{privateRoomroom;@Param({"empty","small","large","full"})privateStringfilling;@SetuppublicvoidsetUp(){switch(filling){case

java - 在 Scala 中,如何覆盖采用 java.util.Map 的方法

我正在尝试子类化的Java类有如下方法:publicabstractvoidfoo(Mapvar1);我不知道如何覆盖该方法。我从中继承的Java类不使用泛型。在Scala中我试过:overridedeffoo(var1:java.util.Map[Int,Int]){}但是编译器给我的错误信息是它没有覆盖任何东西..问题的核心是Scala需要Map上的类型参数,但是Java类不使用它们。 最佳答案 这将使它工作overridedeffoo(var1:java.util.Map[_,_]){}

java - 用于编写 Tensorflow TFRecords 数据文件的纯 Java/Scala 代码

我正在尝试编写TensorflowRecordWriter类的纯Java/Scala实现,以便将SparkDataFrame转换为TFRecords文件。根据文档,在TFRecords中,每条记录的格式如下:uint64lengthuint32masked_crc32_of_lengthbytedata[length]uint32masked_crc32_of_data和CRC掩码masked_crc=((crc>>15)|(crc目前,我使用以下代码使用guava实现计算CRC:importcom.google.common.hash.HashingobjectCRC32{valkM

java - Scala/Java 互操作的静态嵌套类可见性问题

假设我在库中有以下Java文件:packagetest;publicabstractclassAbstractFoo{protectedstaticclassFooHelper{publicFooHelper(){}}}我想从Scala扩展它:packagetest2importtest.AbstractFooclassFooextendsAbstractFoo{newAbstractFoo.FooHelper()}我得到一个错误,“无法在对象test.AbstractFoo中访问类FooHelper”。(我每晚都在使用Scala2.8)。以下Java编译正确:packagetest2