草庐IT

SCALA_HOME

全部标签

java - Scala 的 TreeSet 与 Java 的 TreeSet - 轮询?

如果我想在Java的TreeSet中删除log(n)时间内的最高条目,我使用treeSet.pollFirst()-Scala的mutable.TreeSet类的等价物是什么?无论如何,我真正想要的是一个类似堆的优先级队列数据结构,它可以让我在对数时间内removeMax、add和updatePriority.我查看了Scala集合库,我很困惑-而mutable.PriorityQueue让我在对数时间内deque(即removeMax)-它提供无法在日志时间更新优先级(我将不得不hackily扫描和删除项目并在线性时间内重新添加)。同样,mutable.TreeSet可以让我以对数时

java - 如何在 Scala 中获取异常的堆栈跟踪以打印它?

在我的一个程序中,我想捕获所有异常并显式打印它们(以便能够在仍然看到异常的情况下继续执行finally)。所以我试过这个:try{...}catch{caseex:Exception=>{println("\n"+ex)println("\n"+ex.getStackTrace+"\n")}}finally{...}但这(使用getStackTrace)本身会导致“java.lang.OutOfMemoryError:PermGen空间”。我究竟做错了什么?我确信在得到这个之前我有足够的空闲JVM堆内存(因为我已经尝试在程序的最开始导致异常)。 最佳答案

Java/Scala 反射 : Get class methods in order and force object init

我有一个类,其中有一些对象作为内部方法。我也问了thisquestion不久前得到了一个很好的答案,但这会导致servlet容器中出现fatalerror。当URLClassLoader请求类时,Scala无法始终如一地生成TypeTag。有问题的项目是开源的,找到here.目前找到的方法是here,但它不保留顺序。对象成员已正确初始化,但顺序是随机的。问题:如何收集类(class)成员:按照定义的顺序以线程安全的方式按父类(superclass)型过滤它们贪心初始化对象(引用module.instance)?更新:不要根据此处的链接建议答案,它们已经过测试并且已知会失败。出于风格原因

java - 在 Spark Scala 中处理微秒

我使用Scala将PostgreSQL表作为数据框导入到spark中。数据框看起来像user_id|log_dt--------|-------96|2004-10-1910:23:54.01020|2017-01-1212:12:14.931652我正在将此数据帧转换为log_dt的数据格式为yyyy-MM-ddhh:mm:ss.SSSSSS。为此,我使用以下代码使用unix_timestamp函数将log_dt转换为时间戳格式。valtablereader1=tablereader1Df.withColumn("log_dt",unix_timestamp(tablereader1

java - 如何设置 IDEA 为混合的 Scala/Java Maven 项目自动配置 Scala 方面?

如何让IntelliJ在混合了Scala和Java源代码的Maven项目中自动配置Scala方面?我正在为MaiaBuild2099使用ScalaPluginNightly。mvncompile和mvntest都在命令提示符和IntelliJ的MavenProjects面板中工作。但是,如果我尝试在IntelliJ中直接运行ScalaSpec,它会显示一个错误对话框无法编译Scala文件,内容为请在Scalafacet中指定编译器。项目目录结构:MixedJavaScala│MixedScalaJava.iml│pom.xml│└───src├───main│├───java││Hel

java - 你如何让java方法注释在scala中工作

我有两个项目,一个scala项目和一个java项目。我的scala项目在构建路径中引用了java项目。在我的java项目中,我声明了以下注释:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public@interfaceMyAnnotation{publicStringName();}在我的Scala项目中,我正在注释一些方法。即classMyClass{...@MyAnnotation(Name="Blah")defmyMethod(){...}}在某个地方的另一个文件中,我试图提取注释。varmethod

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); 最佳答案 严格来说,答案是否定的,