问题标签 [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 投票
6 回答
16226 浏览

scala - Scala 将 List[Int] 转换为 java.util.List[java.lang.Integer]

有没有办法Scala将 a 转换List[Int]java.util.List[java.lang.Integer]

我正在与 Java (Thrift) 交互。

JavaConversionssupportList --> java.util.List和implicits 之间存在Int --> java.lang.Integer,但据我所知,我仍然需要额外的传递来手动进行转换:

0 投票
2 回答
351 浏览

scala - Scala 搜索一个不起眼的 Main 类

我有一个简单的 scala 脚本,如下所示:

SenseEvalAllWordsDocumentReader是一个 java 定义的类,它只是 SAX 解析器的包装器。调用句子应该简单地返回另一个名为 Sentence 的 java 定义类的 java List。如果我使用运行此代码

我得到以下可怕的输出混乱:

我假设这意味着 scala 正在寻找一些名为 Main 的类并且找不到它,但我不明白为什么它甚至会考虑寻找这个。此外,如果我删除该reader.sentences()行,或对其进行调用size()之类的操作,问题就会消失。我只能猜测 scala 以某种方式推断由于这个调用应该存在一个名为 Main 的类,但我没有看到任何明显的解决方法。

想法?任何帮助是极大的赞赏。

0 投票
5 回答
22127 浏览

scala - java.util.Iterator 到 Scala 列表?

我有以下代码:

obj.getKeys返回一个java.util.Iterator<java.lang.String>

根据文档调用asScala,通过(导入)..JavaConverers

scala.collection.Iterator定义

因此,基于此,我认为这应该可行,但是这是编译错误:

我了解类型参数或 java Iterator 是一个 Java 字符串,并且我正在尝试创建一个 Scala 字符串列表,但是(也许天真地)认为会有一个隐式转换。

0 投票
2 回答
15145 浏览

java - 在 Java 中将 Scala 特征与已实现的方法一起使用

我想不可能从 Java 调用在 Scala 特征中实现的方法,或者有没有办法?

假设我在 Scala 中有:

在Java中,如果我将它用作

Java抱怨说Trait is not abstract and does not override abstract method bar() in Trait

0 投票
5 回答
65950 浏览

scala - Scala 中 == 和 .equals 有什么区别?

==Scala 中的和之间有什么区别,什么.equals()时候使用哪个?

实现与Java中的相同吗?

编辑:相关问题讨论了AnyVal. 更一般的情况是Any

0 投票
3 回答
3017 浏览

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

在 Scala 中,我们可以写

编译器是如何实现的?我可以Foo.bar();从 Java 调用,但从new Foo();Java 给出错误cannot find symbol symbol: constructor Foo()

  • JVM 是否原生支持单例?
  • 是否可以在 Java 中有一个没有构造函数的类?

注意:这里是输出的代码scalac -print

0 投票
4 回答
46374 浏览

scala - Scala 中的 JavaConverters 和 JavaConversions 有什么区别?

scala.collection中,有两个非常相似的对象JavaConversionsJavaConverters

  • 这两个对象有什么区别?
  • 为什么它们都存在?
  • 我什么时候想使用一个与另一个?
0 投票
3 回答
1186 浏览

scala - 在java中使用scala vararg方法

为什么所有 scala vararg 方法,当从 java 中使用时,似乎都接受变量的 Seq,并且不能用作 java 本机 vararg 方法。这是一个错误吗?

例如,Buffer有方法def append(elems: A*): Unit。但在 java 中它有另一个签名:void append(Seq<A>).

0 投票
2 回答
936 浏览

java - 我可以从 Java 访问不带括号的 Scala 对象的 val 吗?

给定以下 Scala 对象:

Scala 编译器似乎生成了一个无参数方法来访问该NAME字段。但是,当我尝试从 Java 访问此字段时,似乎访问此字段的唯一方法是作为无参数方法,例如:

有没有办法哄 Scala 编译器允许 Java 访问val每个预期的 Java 习惯用法:

0 投票
3 回答
3181 浏览

scala - Java 可比较对象的惯用用法

我正在使用一些 java.util.Date(它实现了 java.lang.Comparable)并且希望能够很好地使用它,例如使用 < 和 >= 而不是“compareTo(other) == 1”。有没有一种很好的方法可以轻松地混合像 scala.math.Ordered 这样的东西而没有很多样板?