2016-08-05 6 views
9

が、私はこのラインでのオーバーロードの解決あいまいエラーが生じています。参考のためにオーバーロードの解決方法コトル(ラムダなし)のあいまいさは?

departureHourChoice!!.selectionModel.select(currentHourIndex)

  • departureHourChoiceChoiceBox<Int>で、java.scene.control

  • currentHourIndexからですIntです

  • オーバーロード解決のあいまいさは、.select()メソッドで発生します。オーバーロードされ、(T obj)または(int index)の2種類のパラメータを受け入れることができます。

  • の項目を選択すると、その項目またはそのインデックスを参照して選択できる項目が決まります。この場合、インデックス(int)で選択します。ここで

  • はエラーenter image description here

どのようにオーバーロードの解決あいまいさを解決するだろうの写真ですか?

答えて

6

あなたがすることができます回避策としてthis bugでヒットしているようだ:

  • ボックスcurrentHourIndex

    lateinit var departureHourChoice: ChoiceBox<Int> 
    ... 
    val currentHourIndex = 1 
    departureHourChoice.selectionModel.select(currentHourIndex as Int?) 
    
  • かの変更宣言

    lateinit var departureHourChoice: ChoiceBox<java.lang.Integer> 
    ... 
    val currentHourIndex = 1 
    departureHourChoice.selectionModel.select(currentHourIndex) 
    

さらに読書:

0

Intにキャストしてみてください。

departureHourChoice!!.selectionModel.select(currentHourIndex as Int) 
+1

を 'currentHourIndex'が既にあるので、これはどちらかのコンパイルされません。その代わりKotlinのIntjava.lang.Integerを使用する'Int' – miensol

関連する問題