以下代碼:javac的「使用未經檢查或不安全的操作」時,被指定的類型
public void addGrillaListener(Stage stageToClose,Grilla listener)
{
GrillaHandler<WindowEvent> handy = new GrillaHandler<>(listener);
if(stageToClose!=null)
{
stageToClose.addEventHandler(WindowEvent.WINDOW_HIDDEN,handy);
}
}
導致編譯器來顯示該消息。我怎樣才能避免它?
額外的信息:
- 格里拉是Stage界面
- GrillaHandler是一個事件處理程序子類,它需要一個格里拉作爲構造參數
- 使用JDK 7,GrillaHandler <>允許
- 的編譯器的消息是相當unespecific - 它指出,此方法使用未經檢查或不安全的操作
- 舞臺是Oracle提供的一個類,它是
GrillaHandler的JavaFX的一部分:
public class GrillaHandler<T> implements EventHandler {
private Grilla win;
public GrillaHandler(Grilla win) {
this.win=win;
}
@Override
public void handle(Event t) {
win.loadTable();
}
}
格里拉:
public interface Grilla {
public void loadTable();
}
顯示在該行中的信息? –
對我來說,問題出現在參數'Stage stageToClose'中。它看起來像是一個參數化類型,以便稍後可以接受特定類型的事件處理程序。但是在你的代碼中並不明顯。你可以發佈'Stage'和'Grilla'的定義嗎? –
GrillaHandler得心應手=新GrillaHandler (受聽者); –
Deepak