问题标签 [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.
scala - scala 有没有办法从任何 Map 转换为 java.util.Map?
我使用了很多 scala 映射,有时我想将它们作为映射传递给需要 java.util.Map 的遗留 java api(而且我不在乎它是否会丢弃任何更改)。
java - 在 Scala 中迭代 Java 集合
我正在编写一些使用Apache POI API 的 Scala 代码。我想遍历java.util.Iterator
从 Sheet 类中获得的行中包含的行。我想在for each
样式循环中使用迭代器,所以我一直在尝试将它转换为原生 Scala 集合,但不会成功。
我查看了 Scala 包装器类/特征,但看不到如何正确使用它们。如何在不使用冗长while(hasNext()) getNext()
的循环样式的情况下迭代 Scala 中的 Java 集合?
这是我根据正确答案编写的代码:
scala - 如何将 Java Iterable 转换为 Scala Iterable?
有没有简单的方法来转换
到一个
?
java - 从 Java 调用 Scala 代码?
我正在使用 Netbeans 编写 Scala 和 Java。
Netbeans 为 Scala 项目生成了一个 .jar 文件。我尝试在 Java 项目中导入该文件。但是我无法将该 .jar 文件中的任何类导入到我的 Java 项目中。
我还尝试将 scala-library.jar 导入 java 项目,并且可以从该 jar 导入类。
我想用 Scala 编写我的库,然后公开一个只涉及 Java 的小接口,然后编写一个 Java 包装器,以便人们可以将它用作 Java 包。那可能吗?我该怎么做?
非常感谢你。
java - Java <-> Scala 互操作:透明的 List 和 Map 转换
我正在学习 Scala,并且我有一个要迁移到 Scala 的 Java 项目。我想通过一个接一个地重写类并检查新类没有破坏项目来迁移它。
这个 Java 项目使用了很多java.util.List
和java.util.Map
. 在新的 Scala 类中,我想使用 ScalaList
并Map
拥有好看的 Scala 代码。
问题是新类(那些在 Scala 中编写的)不能与现有的 Java 代码无缝集成:Java 需要java.util.List
,Scala 需要自己的scala.List
。
这是问题的简化示例。有类Main、Logic、Dao。他们在一行中互相调用:Main -> Logic -> Dao。
在我的情况下,Main和Dao类是框架类(我不需要迁移它们)。Class Logic是业务逻辑,将从 Scala 的酷特性中受益匪浅。
我需要在 Scala 中重写Logic类,同时保持Main和Dao类的完整性。最好的重写看起来像(不起作用):
理想行为:Logic2中的列表是原生 Scala 列表。所有进/出java.util.Lists
都自动装箱/拆箱。但这不起作用。
相反,这确实有效(感谢scala-javautils ( GitHub )):
但它看起来很丑。
如何在 Java <-> Scala 之间实现 Lists 和 Maps 的透明魔法转换(无需 toScala/toJava)?
如果不可能,迁移 Java -> 使用java.util.List
和朋友的 Scala 代码的最佳实践是什么?
java - 使用带有 Scala 保留字的 Java 库
我正在使用用 Java ( Selenium )编写的外部库。其中一个函数调用具有签名type(String, String)
,并且在尝试从 Scala 调用它时,我不断收到编译器错误,即:
这个问题有解决方法吗?
java - 如何在 Java 代码中使用 scala.None
可能重复:
从 Java 访问 scala.None
在Java 中,您可以创建一个Some
使用构造函数的实例,即new Some(value)
,但None
没有伙伴类。如何None
从 Java 传递给 Scala 函数?
scala - 从 Java 属性获取 Scala 映射
我试图使用 java Iterators 和/或 Enumerations 将环境变量拉入 scala 脚本,并意识到 Frankenstein 博士可能声称是父母,所以我从丑陋的树中破解了以下内容:
例如打印上述相同的环境
拜托,请不要着手完善这个 t$#d,只需向我展示我确信在这种情况下存在的 scala gem(即 java Properties --> scala.Map),在此先感谢;@)
scala - 将 Scala Set 转换为 Java (java.util.Set)?
我在 Scala 中有一个 Set(我可以在创建 Set 时选择任何实现。我正在使用的 Java 库需要一个 java.util.Set[String]。
以下是在 Scala 中执行此操作的正确方法(使用 scala.collection.jcl.HashSet#underlying):
它似乎正在工作,但由于我对 Scala 很陌生,我想知道这是否是首选方式(我尝试的任何其他方式都会收到类型不匹配错误):
java - 如何将 scala.List 转换为 java.util.List?
如何将Scala的scala.List
转换成Java的java.util.List
?