问题标签 [scala-java-interop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2312 浏览

scala - scala 有没有办法从任何 Map 转换为 java.util.Map?

我使用了很多 scala 映射,有时我想将它们作为映射传递给需要 java.util.Map 的遗留 java api(而且我不在乎它是否会丢弃任何更改)。

0 投票
9 回答
85092 浏览

java - 在 Scala 中迭代 Java 集合

我正在编写一些使用Apache POI API 的 Scala 代码。我想遍历java.util.Iterator从 Sheet 类中获得的行中包含的行。我想在for each样式循环中使用迭代器,所以我一直在尝试将它转换为原生 Scala 集合,但不会成功。

我查看了 Scala 包装器类/特征,但看不到如何正确使用它们。如何在不使用冗长while(hasNext()) getNext()的循环样式的情况下迭代 Scala 中的 Java 集合?

这是我根据正确答案编写的代码:

0 投票
3 回答
22061 浏览

scala - 如何将 Java Iterable 转换为 Scala Iterable?

有没有简单的方法来转换

到一个

?

0 投票
1 回答
2717 浏览

java - 从 Java 调用 Scala 代码?

我正在使用 Netbeans 编写 Scala 和 Java。

Netbeans 为 Scala 项目生成了一个 .jar 文件。我尝试在 Java 项目中导入该文件。但是我无法将该 .jar 文件中的任何类导入到我的 Java 项目中。

我还尝试将 scala-library.jar 导入 java 项目,并且可以从该 jar 导入类。

我想用 Scala 编写我的库,然后公开一个只涉及 Java 的小接口,然后编写一个 Java 包装器,以便人们可以将它用作 Java 包。那可能吗?我该怎么做?

非常感谢你。

0 投票
3 回答
10534 浏览

java - Java <-> Scala 互操作:透明的 List 和 Map 转换

我正在学习 Scala,并且我有一个要迁移到 Scala 的 Java 项目。我想通过一个接一个地重写类并检查新类没有破坏项目来迁移它。

这个 Java 项目使用了很多java.util.Listjava.util.Map. 在新的 Scala 类中,我想使用 ScalaListMap拥有好看的 Scala 代码。

问题是新类(那些在 Scala 中编写的)不能与现有的 Java 代码无缝集成:Java 需要java.util.List,Scala 需要自己的scala.List

这是问题的简化示例。有类MainLogicDao。他们在一行中互相调用:Main -> Logic -> Dao

在我的情况下,MainDao类是框架类(我不需要迁移它们)。Class Logic是业务逻辑,将从 Scala 的酷特性中受益匪浅。

我需要在 Scala 中重写Logic类,同时保持MainDao类的完整性。最好的重写看起来像(不起作用):

理想行为:Logic2中的列表是原生 Scala 列表。所有进/出java.util.Lists都自动装箱/拆箱。但这不起作用。

相反,这确实有效(感谢scala-javautils ( GitHub )):

但它看起来很丑。

如何在 Java <-> Scala 之间实现 Lists 和 Maps 的透明魔法转换(无需 toScala/toJava)?

如果不可能,迁移 Java -> 使用java.util.List和朋友的 Scala 代码的最佳实践是什么?

0 投票
1 回答
2102 浏览

java - 使用带有 Scala 保留字的 Java 库

我正在使用用 Java ( Selenium )编写的外部库。其中一个函数调用具有签名type(String, String),并且在尝试从 Scala 调用它时,我不断收到编译器错误,即:

这个问题有解决方法吗?

0 投票
5 回答
13658 浏览

java - 如何在 Java 代码中使用 scala.None

可能重复:
从 Java 访问 scala.None

在Java 中,您可以创建一个Some使用构造函数的实例,即new Some(value),但None没有伙伴类。如何None从 Java 传递给 Scala 函数?

0 投票
6 回答
12023 浏览

scala - 从 Java 属性获取 Scala 映射

我试图使用 java Iterators 和/或 Enumerations 将环境变量拉入 scala 脚本,并意识到 Frankenstein 博士可能声称是父母,所以我从丑陋的树中破解了以下内容:

例如打印上述相同的环境

拜托,请不要着手完善这个 t$#d,只需向我展示我确信在这种情况下存在的 scala gem(即 java Properties --> scala.Map),在此先感谢;@)

0 投票
5 回答
14635 浏览

scala - 将 Scala Set 转换为 Java (java.util.Set)?

我在 Scala 中有一个 Set(我可以在创建 Set 时选择任何实现。我正在使用的 Java 库需要一个 java.util.Set[String]。

以下是在 Scala 中执行此操作的正确方法(使用 scala.collection.jcl.HashSet#underlying):

它似乎正在工作,但由于我对 Scala 很陌生,我想知道这是否是首选方式(我尝试的任何其他方式都会收到类型不匹配错误):

0 投票
9 回答
85917 浏览

java - 如何将 scala.List 转换为 java.util.List?

如何将Scala的scala.List转换成Java的java.util.List