Tag: scala

你如何从Java调用Scala对象?

Java代码: import javax.swing.Timer; class Main { public static void main(String args[]) { MyListener myListener = new MyListener(); Timer timer = new Timer(1000, myListener); timer.start(); while(timer.isRunning()) { System.out.print(“.”); } } } Scala代码: import java.awt.event.ActionListener; import java.awt.event.ActionEvent; class MyListener extends ActionListener { override def actionPerformed(arg0: ActionEvent) { println(“Do something”); } } 命令行: scalac MyListener.scala javac Main.java java […]

什么是Scala对象的Java等价物?

在Scala中,我们可以写 object Foo { def bar = {} } 这是如何由编译器实现的? 我可以调用Foo.bar(); 来自Java但new Foo(); 从Java给出错误cannot find symbol symbol: constructor Foo() JVM本身是否支持单例? 是否有可能在Java中有一个没有构造函数的类? 注意:这是scalac -print输出的代码 package { final class Foo extends java.lang.Object with ScalaObject { def bar(): Unit = (); def this(): object Foo = { Foo.super.this(); () } } }

如何在Java代码中使用scala.collection.immutable.List

我需要编写一个代码来比较Java的ArrayList和Scala的List 。 我很难让Scala List在我的Java代码中运行。 有人可以发布一个真正简单的“hello world”示例,说明如何在java代码中创建一个Scala List (在.java文件中)并添加100个随机数字吗? PS:我非常擅长Java,但从未使用过Scala。

为什么Scala列表没有大小字段?

来自Java背景,我想知道为什么Scala中的List没有像Java等效LinkedList那样的size字段。 毕竟,使用大小字段,您将能够在常量时间内确定列表的大小,那么为什么大小字段会被删除? (这个问题引用了Scala 2.8及更高版本中的新集合类。另外,我指的是不可变List ,而不是可变List 。)

私有方法内联

在Scala 不可变向量代码中有一条注释说: 原则上,大多数成员应该是私人的。 但是,必须谨慎选择访问权限,以防止方法内联 私人对内联决策的影响是什么? 这也适用于Java吗?

Eclipse scala.object无法解析

我正在尝试使用Eclipse在Java中编写Kafka生产者和消费者代码。 我已经下载了Kafka jar文件并作为外部Jar文件加载。 它解决了依赖问题。 但是,始终存在未解决的错误,并且消息如下所示: Multiple markers at this line – The type scala.Product cannot be resolved. It is indirectly referenced from required .class files – The type scala.Serializable cannot be resolved. It is indirectly referenced from required .class files 我真的不知道发生了什么以及如何解决这个错误。 谢谢。

使用Java 8 Streams API对整数列表进行随机播放

我尝试使用Streams API将以下Scala行转换为Java 8: // Scala util.Random.shuffle((1 to 24).toList) 要在Java中编写等效项,我创建了一系列整数: IntStream.range(1, 25) 我怀疑在流API中找到了一个toList方法,但是IntStream只知道奇怪的方法: collect( Supplier supplier, ObjIntConsumer accumulator, BiConsumer combiner) 如何使用Java 8 Streams API对列表进行混洗?

如何从Java中的Java List创建scala.collection.immutable.Seq?

我正试图让Akka进入我的Java项目,并且我在Scala的Seq类型上遇到了一个小问题。 我能够将我的ActorRef的Java List转换为scala.collection.Seq,但我尝试使用的Akka API需要一个scala.collection.immutable.Seq。 我该怎么做? 码: static class Router extends UntypedLoadBalancer { private final InfiniteIterator workers; public Router(List workers) { Seq workerSeq = asScalaBuffer(workers); // how to get from the scala.collection.Seq above to the instance of // scala.collection.immutable.Seq required by CyclicIterator below? this.workers = new CyclicIterator(); } public InfiniteIterator seq() { return workers; } }

如何在IntelliJ Idea中禁用Gradle守护进程?

我需要在IntelliJ Idea中禁用Gradle守护进程,因为Scala插件不能与守护进程一起使用(编译因NullPointerException失败)。 我试图编辑我的IntelliJ Gradle构建配置以包含JVM系统参数-Dorg.gradle.daemon=false : 此外,我尝试在同一个地方使用–no-daemon标志(脚本参数和VM选项)。 我也尝试在IntelliJ的Preferences -> Gradle菜单中指定这些选项。 这些尝试都没有给出任何结果,守护进程继续启动,所以我必须在第二次running/compiling之前杀死它。 根据https://docs.gradle.org/current/userguide/gradle_daemon.html#N10473 ,在~/.gradle/gradle.properties禁用守护进程都没有任何效果。 如何禁用IntelliJ Idea中的Gradle守护程序用法?

如何在不实际序列化的情况下估计Java中对象的序列化大小?

要增强群集中的消息传递,重要的是要在运行时了解消息的大小(我应该更喜欢处理本地消息还是远程消息)。 我可以找到基于java检测估计对象内存大小的框架。 我测试了classmexer,它没有接近序列化大小和sourceforge SizeOf。 在一个小的测试用例中,SizeOf错误大约10%,比序列化快10倍。 (仍然瞬态完全打破了估计,因为例如ArrayList是瞬态的,但被序列化为数组,修补SizeOf并不容易。但我可以忍受这种情况) 另一方面,10%的误差和10%的误差似乎不太好。 任何想法我怎么能做得更好? 更新:我还测试了ObjectSize( http://sourceforge.net/projects/objectsize-java )。 结果似乎只适用于非inheritance对象:(