问题标签 [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.
java - Visibility of properties in scala class
I defined a property in the constructor of my class the following way:
When I try access to message value from Java code y get a visbility error. Why?
java - Scala 闭包和 Java 8 闭包之间的兼容性
在阅读了一些 OpenJDK 邮件列表条目之后,似乎 Oracle 开发人员目前正在进一步从闭包提案中删除一些内容,因为 Java 语言中早期的设计错误使 Java 闭包的引入变得复杂。
考虑到 Scala 闭包比 Java 8 计划的闭包功能强大得多,我想知道是否可以调用 Java 方法,从 Scala 获取闭包,在 Java 中定义闭包并将其提供给 Scala 函数等?
那么 Java 闭包会像 Scala 对应的字节码一样表示还是以不同的方式表示?是否有可能缩小 Java/Scala 闭包之间的功能差距?
java - 如何从 Java 调用 Scala 单例方法?
我正在尝试将一些 Scala 代码注入到我现有的 Java 应用程序中。(所以,有人说,我想要更多的乐趣)。
我在 Scala 中创建了一个单例的东西
现在,在 OldJava.java 中
我应该填写什么?
以便 Java 调用 showMyPower 方法?我都试过了 org.fun.ScalaPower.showMyPower(10)
,org.fun.ScalaPower.getInstance().showMyPower(10)
但都没有。
(使用 Jad 反编译类文件只显示无意义的代码。)
编辑
我删除了class ScalaPower
声明,scala按预期生成了静态方法。(调用org.fun.ScalaPower.showMyPower(10)
只是有效)。
想知道这是否是 scala 编译器中的错误
java - 在 Java 中使用 Scala 常量
我目前正在为未来的项目评估 Scala,并遇到了一些奇怪的事情。我在 JSP 中为我们创建了以下常量:
它没有用。经过一些试验,我决定反编译以深入了解它:
现在这很有趣!就个人而言,我一直想知道为什么检查员需要前缀get和 mutator需要在 Java 中设置的前缀,因为它们存在于不同的名称空间中。
然而,向团队的其他成员解释这一点可能仍然很尴尬。那么是否有可能在没有检查员的情况下拥有一个公共常量?
java - 将 Java 迁移到 Scala
在将现有的 Java 代码库逐步迁移到 Scala 时,需要注意哪些最重要的点以及解决方法?使用两种语言的(可能很长)中间阶段。
我正在考虑的事情是:
- 不同的集合层次结构
- Scala 不能很好处理的 Java 结构
- 在 Java 中使用不切实际的 Scala 结构
- 构建工具
- 编译顺序
- 框架中的不变性支持
- 等等
scala - Scala 额外的无参数构造函数和默认构造函数参数
我在构造函数上使用 Scala 2.8 默认参数,出于 Java 兼容性的原因,我想要一个使用默认参数的无参数构造函数。
出于非常明智的原因,这不起作用:
我想知道我是否缺少任何东西。任何不需要复制参数默认值的想法?
谢谢!
scala - 从 Scala 调用受保护的静态 Java 方法
我在这里有一个包含一些 Java 类的库。一个类有一些protected static
方法,我意识到这是一个 OOP 禁止但我不能更改它的代码。假设我有一个继承上述 Java 类的 Scala 类,我该如何调用它的受保护静态成员?
java - Scala 自动装箱和 Java Map
我有一个 Java 方法需要一个类型的参数Map<Long, Foo>
。我正在尝试在 Scala 2.8.1 中为该方法编写一个单元测试并传入一个文字Map[Long, Foo]
.
我的代码如下所示:
编译器给我以下错误:
我也试过了
和
并得到错误:
我该怎么做呢?
java - .java 和 .scala 类之间是否可能存在循环依赖关系?
假设我在 .java 文件中定义了 A 类,在 .scala 文件中定义了 B 类。
A类使用B类,B类使用A类。
如果我使用java编译器,我会出现编译错误,因为B类尚未编译。如果我使用 scala 编译器类 A 将找不到。有没有可以同时编译的编译器?
api - 请解释使用 Option 的 orNull 方法
Scala 的 Option 类有一个orNull
方法,其签名如下所示。
我对隐含的事情感到困惑。有人可以解释一下它是如何使用的,最好举个例子吗?