簡體   English   中英

Scala中的Java類類型不匹配?

[英]Java class type mismatch in scala?

我正在嘗試從javafx導入Color類,並在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則使導入線變灰,就像未使用它一樣。

我可以看到其他人也遇到了同樣的問題,但是我看不到所顯示的示例如何適用於我的工作。 那么我該怎么辦?

這意味着您已經在同一包drawingengine定義了自己的Color類,並且drawingengine與JavaFX碰撞。
這個

javafx.scene.paint.Color

修復它,因為您顯式使用限定名稱。
如果要同時維護它們兩者,則可以將JavaFX作為別名。

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

並像這樣使用

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM