草庐IT

java - 添加默认包导入

在Java、Scala或一般的任何JVM语言中,有一组默认导入的包。例如,Java会自动导入java.lang,您无需在Java代码文件中执行此操作。现在我不知道哪个组件负责这个(编译器?JVM?),但是有什么方法可以默认导入额外的包甚至类吗?假设您有一个包,定义了您在整个项目中使用的一组实用函数(示例可以是Scala中的scala.math),如果您能够跳过导入,那就太好了在每个与数学相关的类(class)中。 最佳答案 从2.8开始,Scala具有包对象,其内容会自动导入到包的每个文件中。在包的顶层目录(例如,x/y/z/myp

java - 试图在 Java 中初始化 Scala 创建的类

我正在尝试学习Scala,所以我决定用它来实现数据结构。我从Stack开始。我创建了以下Stack类。classStack[A:Manifest](){varlength:Int=-1vardata=newArray[A](100)/***ReturnsthesizeoftheStack.*@returnthesizeofthestack*/defsize={length}/***ReturnsthetopelementoftheStackwithout*removingit.*@returnStackstopelement(notremoved)*/defpeek[A]={data(

java - 如何在 Scala 中获取 Java 的 int.class?

我正在使用Scala来处理Java的反射API。但我似乎无法弄清楚如何在Scala中访问Java中的内容:int.class、float.class、boolean.class。基本上是表示原始数据类型的类对象。那么int.class的Scala版本是什么? 最佳答案 int.class、float.class等不存在。每个等效的装箱类型都有一个名为TYPE的静态字段,它表示原始类型。这是你的意思吗?例如对于整数/整数:http://docs.oracle.com/javase/6/docs/api/java/lang/Intege

java - 如何检查集合是否包含 Scala 中其他集合的任何元素?

标题说明了一切,找出集合是否包含其他集合的任何元素的最佳实践是什么?在java中我会这样执行CollectionUtils.containsAny(a,b)使用常见的apache集合实用程序,其中变量a/b是集合。如何在Scala中实现这种行为?或者是否有像上面的CollectionUtils这样的库?我不想使用common-apache库,因为我必须将scala集合转换为java集合。 最佳答案 您可以组合使用exists(p:T=>Boolean):Boolean和contains(elem:A1):Boolean:vala=L

java - 等同于 Scala 中的公共(public)静态最终字段

我正在学习Scala,但我不知道如何在Scala中最好地表达这个简单的Java类:publicclassColor{publicstaticfinalColorBLACK=newColor(0,0,0);publicstaticfinalColorWHITE=newColor(255,255,255);publicstaticfinalColorGREEN=newColor(0,0,255);privatefinalintred;privatefinalintblue;privatefinalintgreen;publicColor(intred,intblue,intgreen){t

java - Scala、Java 和平等

valfilesHere=(newjava.io.File(".")).listFilesvalfilesHere2=(newjava.io.File(".")).listFilesscala>filesHere==filesHere2res0:Boolean=false这是非常违反直觉的。我更希望filesHere和filesHere2相等。这肯定是由于Java和Scala之间的语义不匹配,例如,关于数组或(文件)相等性。显然,我在这里遗漏了一些东西! 最佳答案 如果我统治世界,我会反对Scala的eq方法,因为该名称​​极度容易

java - 如何将 Typesafe Stack deb repo 与 Oracle Java 6 而不是 OpenJDK 一起使用?

我想通过他们的Deb存储库将TypesafeStack安装到UbuntuServer,但不下载所有OpenJDK包。我通过update-alternatives安装了OracleJDK6并在我的PATH中,安装OpenJDK会破坏一些东西。执行此操作的最佳方法是什么?看来我不能为此使用apt-get--no-install-recommends标志:$>sudoapt-getinstall--no-install-recommendstypesafe-stacksbtReadingpackagelists...DoneBuildingdependencytreeReadingstate

java - 我可以为某些 Actor 的自动名称添加前缀吗?

我有一些Akka项目,我有以下场景:我有很多Actor,我希望有一个人类可读的名字,但与此同时,我不想为每个Actor生成唯一的名字我一个人。那么,有没有一种方法可以让Prop或Actor系统为自动生成的名称添加特定字符串前缀?例如,我有一些ActorMaster创建了一些Worker类型的child。我希望每个child的名字都以“worker-”开头,这样我就可以轻松地在日志中跟进。另外,如果可能的话,我想知道是否有其他方法可以更细粒度地命名Actor。提前致谢。编辑:这是我想要的示例目前,据我所知,您有两个选择:1)使用自动生成的名字创建actorActorRefmyActor=

java - 在 Stream Start 之前访问 Flink Classloader

在我的项目中,我想在执行流之前访问Flink用户类加载器。我一直在实例化我自己的类加载器以在流执行之前反序列化类(尽我所能避免与多个类加载器相关的问题)。然而,我的进展越深入,我不得不编写(错误的)代码来避免这个问题的问题就越多。如果我可以访问Flink用户类加载器并使用它,这可以解决,但是我没有看到在“RichFunctions”之外这样做的机制(https://ci.apache.org/projects/flink/flink-docs-stable/api/java/org/apache/flink/api/common/functions/RichFunction.html)

java - 在没有互联网连接的计算机上使用 Scala

我是Scala的新手,如果问题很明显,我很抱歉。我的电脑上安装了EclipsePhoton。想编辑Scala代码并生成可运行的jar。棘手的部分是我的计算机(Centos7)无法访问互联网。我牢记两个潜在的问题/问题:手动下载插件:我知道,Eclipse的ScalaIDE插件可以运行Scala代码/生成jar(如https://medium.com/devilsadvocatediwakar/how-to-install-scala-plugins-in-eclipse-in-ubuntu-13e53ffe3f39)。从GUI安装它非常简单。是否可以手动(不是从GUI)下载插件包,将其