以下代码: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