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

scala - Scala - 对重载定义的模棱两可的引用 - 带有可变参数

可能重复:
如何在 Scala 中消除带可变参数和不带可变参数的方法之间的歧义

我目前正在将应用程序的一部分移植到 scala,它使用 Oval 库。该方法的问题是 Validator.validate 方法。它有两个 签名

scala 代码通常如下所示:

和错误信息:

我怎样才能得到这个是明确的?

0 投票
3 回答
623 浏览

java - 从 Java 调用带有参数和内部类的 scala 抽象类

如果我定义一个 Scala 类:

如何在 Java 代码中使用这个类?

[编辑] 实际上,我的问题稍微复杂一些

我有一个抽象类

我需要在 Java 代码中使用它。可以轻松做到吗?

[EDIT2] 考虑以下代码

在这种情况下,以下 java 代码在 Netbeans IDE 中给出错误但构建良好:

我得到的错误是:

Netbeans 6.8,斯卡拉 2.8。

截至目前,我认为唯一的解决方案是忽略 NB 错误。

这是一张显示我得到的确切错误的图像: 使用来自 java 的 scala 代码的 IDE 错误

0 投票
1 回答
796 浏览

java - Scala 和 Java 的构建器库

我需要一个可以从 Scala 和 Java 调用的构建器库。在 Scala 中使用默认的命名参数很容易。但是我如何从 Java 中调用这段代码呢?见下文。或者也许我应该使用两种语言都更通用的流畅 API?

斯卡拉:

用法:

Java 用法:

0 投票
2 回答
1259 浏览

java - Scala 和 Java 的类型安全构建器库

下面是 Scala 中类型安全、流畅的构建器模式,如http://www.tikalk.com/java/blog/type-safe-builder-scala-using-type-constraints中所述。它类似于Scala 和 Java 的 Builder Library,但专门处理编译时构建器检查。这怎么能从Java调用?在给定“scala.Predef$$eq$colon$eq”参数的情况下,是否可以使用适用于 Scala和Java 的干净 API 来完成?

0 投票
2 回答
3025 浏览

scala - Scala:覆盖通用 Java 方法 II

在 Scala 中,我需要覆盖以下给定的 Java 类和方法:

我收到编译错误:

我不希望 Scala 编译器在调用时引用abstract方法。super另外,我希望它首先引用直接超类。

如何使 Scala 类编译?

谢谢!

编辑:

挂断super.test(clazz)电话时,会出现以下错误消息:

好吧,当然这些是相同的类型(或变体)......!- 所以Scala / Java继承有问题......

感谢michid,有一个初步的解决方案:

虽然我们不能super从这里打电话。

仍然是最受欢迎的。

0 投票
4 回答
22243 浏览

java - 在 Java 中使用 Scala:将函数作为参数传递

考虑以下 Scala 代码:

现在在 Java 中,我希望MyScala用作:

但是,上述方法不起作用(正如预期的那样,因为 Java 不允许函数式编程)。在 Java 中传递函数最简单的解决方法是什么?我想要一个适用于具有任意数量参数的函数的通用解决方案。

编辑:Java 8 的语法是否比下面讨论的经典解决方案更好?

0 投票
1 回答
1820 浏览

scala - 在 scala 2.8 中使用 scala.collection.JavaConversions._ 时 scala 和 java 集合之间的自动转换

我有返回这种类型的java API:

在 scala 程序中,我需要将上述类型作为参数发送到类型为的 scala 函数“bar”

所以我称 bar 为:

但这不起作用,因为我得到编译错误。

我以为有这个进口

将在 Java 和 Scala 集合之间进行隐式自动转换。

我也尝试过使用:

但这也不起作用。

这个问题的解决方案是什么?

0 投票
2 回答
543 浏览

android - 在 Android 中使用来自 Scala 的 Java 常量

我在 Android 上使用 Scala 开发时遇到了一个奇怪的问题。我正在使用 sbt android 插件,现在我正在尝试让内容提供商工作,但是......

我需要获取列数组,我的做法与此处的教程完全一样:http: //developer.android.com/guide/topics/providers/content-providers.html

刚刚用 Scala 替换了 Java 的数组代码。它看起来像这样:

但是,scala 编译器返回错误

实际上它这个对象的成员,它定义在接口 android.provider.Contacts.PeopleColumns 中(由 People 实现)。我也尝试过直接从 PeopleColumns 获取它,但没有任何成功(同样的错误)。在 Scala 中从 Java 获取常量是否有所不同,或者我只是在某个地方犯了一个愚蠢的错误?

更新:

下一个问题。使用 ContactsContract.Contacts 时错误保持不变,并且在尝试另一种方法时,我无法直接访问 ContactsContract.ContactsColumns,因为它是受保护的接口。

0 投票
2 回答
3749 浏览

scala - 如何从 Scala 访问 Java 枚举?

我的java类如下

这是我的斯卡拉

我收到以下错误消息

对象 Test 中的类 TestEnum 无法在对象 Test 中访问受保护类 TestEnum 不允许访问,因为在包 XXX 中封闭类类 ScalaEnum 不是定义目标的包 YYY 中的对象 Test 的子类

0 投票
3 回答
772 浏览

scala - 如何在 Scala 中处理 Hashtable 空值?

我正在移植一些java代码并具有以下内容

当我尝试

我收到以下警告

警告:使用 `!=' 比较 Null 和 Double 类型的值将始终产生 true