【发布时间】:2017-11-28 18:29:13
【问题描述】:
我对带有 Java 方法的 Scala 代码有疑问。
它在召唤:
value getDepth is not a member of amqpManagment.utils.data.ChessObject
var depth: Int = chessObjects.getDepth()
^
但是,我在 Java 代码的许多其他地方使用 getDepth,它工作正常。 同样,在放置该代码之后,它在 InteliJ 中工作了几个小时,这很奇怪,但可能项目在更改之后没有重建自己......
不过 InteliJ 显示代码没问题,但在编译过程中却显示该错误。通过 InteliJ 或终端进行重建没有帮助。
Scala 代码:
import amqpManagment.utils.data.ChessObject
object ChessScheduler {
// DEPTH GAME
def startGameWithDepthRule(chessObject: ChessObject) : Integer =
{
...
val depth: Int = chessObjects.getDepth()
...
}
}
Java 代码:
@Getter
@Setter
public class ChessObject {
private Integer depth;
...
}
build.sbt
import sbt.Keys._
import sbt.Level
name := "ChessEngineModuler"
logLevel := Level.Warn
version := "1.0"
scalaVersion := "2.12.2"
感谢您的帮助。
【问题讨论】:
-
那个错误信息准确吗?复制粘贴有错误吗?少了一个点:
chessObjectsgetDepth() -
你好@jwvh,是的,我只是在这个问题上打错了,它是关于那个代码的。我现在将编辑它。谢谢:)
-
你在scala中有
CheeJSONObject,但在java中有ChessObject。这些是不同的类别。或许,前者有getDepth,后者没有? -
Heyo @Dima,你说得对,但这也不是问题:/我只是更改了它的名称,以免打扰你从这个文件创建的 JSON,因为它是本地问题。很抱歉给您带来不便:(我认为这是因为 InteliJ 没有看到问题,所以首先没有看到它,只有编译不正确并且失败:/
标签: java scala type-conversion