私はTreeTable
で働いていると、セルファクトリーを変更するとき、私は、Aは、私はクラス働いているが、私はの「キャプチャーの操作方法が分からないJavaジェネリックの "キャプチャ?"
Callback<TreeTableColumn<A, capture of ?>, TreeTableCell<A, capture of ?>>
に合格するために必要なのですか? " "?"
は私がnew Callback<TreeTableColumn<A, ?>, TreeTableCell<A, ?>>
を作成しようとしましたが、IDEAの代わりに、私は(文字列のような)特定のクラスを使用してみました
setCellFactory(Callback<TreeTableColumn<A, capture<?>>, TreeTableCell<A, capture<?>>>) in TreeTableColumn cannot be applied to (anonymous Callback<TreeTableColumn<A, ?>, TreeTableCell<A, ?>>)
警告を示しますしかし、何も助けなかった。
誰も私にこの方法を教えてもらえますか?
ありがとうございます。
EDIT:
私は少しより多くの情報を集め... TreeTableColumn<S,T>
のCellFactory
がCallback<TreeTableColumn<S,T>
、TreeTableCell<S,T>>
でなければなりません、しかし、私が働いているTreeTableColumnは、(ライブラリ内の)生タイプとして作成されます。
生のタイプのコールバックを使用します。しかし、これをどうやって動作させるか他の選択肢はありますか?
''コンパイラはタイプが何であるかを知らないことを意味します。タイプが何であるのか分からないとき、それは別の未知の時間と一致できません。それは何かを受け入れるワイルドカードのようではありません。 –
'私は特定のクラス(Stringのような)を"? "の代わりに使用しようとしました。何も助けてくれませんでした」 - あなたは何を試してみたのかを示し、匿名のインスタンス、つまりコードをどのように定義したのかを示すことができます。 – Thomas
正確なコードである 'setCellFactory(新しいコールバック、TreeTableCell >(){ @Override 公共TreeTableCell コール(TreeTableColumn PARAM){ 戻りNULL; } });'または "?"の代わりに "String" –
kotycheese