Scala中的Java类类型不匹配?

索伦

我正在尝试从 导入Colorjavafx,并在 Scala 类中使用它。但是当我在其他地方使用我的课程时,我收到了这个错误:

Error:(9, 50) type mismatch;
 found   : javafx.scene.paint.Color
 required: drawingengine.Color

这是代码:

package drawingengine
import javafx.scene.paint.Color
sealed class Pixel(x: Int, y: Int, color: Color);

我可以通过将第 3 行更改为:

sealed class Pixel(x: Int, y: Int, color: javafx.scene.paint.Color);

但我认为这有点难看,所以没有更好的方法来使用导入的类吗?


另外,我收到此警告

imported `Color' is permanently hidden by definition of object Color in package drawingengine
import javafx.scene.paint.Color

并且 IntelliJ 将导入行变灰,就好像它没有被使用一样。

我可以看到其他人也遇到了同样的问题,但我看不出所显示的示例如何适用于我正在做的事情。那么我能对这个警告做些什么呢?

LppEdd

这意味着您已经Color在同一个包中定义了自己的drawingengine,并且它与 JavaFX 相冲突。

javafx.scene.paint.Color

修复它是因为您明确使用了限定名称。
如果您想同时维护它们,您可以将 JavaFX 作为别名

import javafx.scene.paint.{Color => FxColor}

并使用它

sealed class Pixel(x: Int, y: Int, color: FxColor);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章