Sta*_*224 -1 java object instanceof
当我尝试编译并运行这部分代码时,我得到了这个错误:
线程"AWT-EventQueue-0"中的异常java.lang.Error:未解决的编译问题:无法将侦听器解析为变量
at FormPanel.setFormListener(FormPanel.java:273)
at MainFrame.<init>(MainFrame.java:37)
at App$1.run(App.java:10)
Run Code Online (Sandbox Code Playgroud)
代码是这样的:
// public void setFormListener(DailyFormListener listener) {
// this.formDayListener = listener;
//
// }
public void setFormListener(Object o) {
if (o instanceof DailyFormListener) {
this.formDayListener = listener;
}
else if (o instanceof GeneFormListener) {
this.geneFormListener = listener;
}
else if (o instanceof LabFormListener) {
this.labFormListener = listener;
}
}
Run Code Online (Sandbox Code Playgroud)
这是从第273行开始的.我的问题是,它运行时已经注释掉了上面的部分,但是现在在未注释的部分中.我需要更改什么才能让setFormListener足够通用来处理这个问题?我可以根据需要提供更多代码或信息.
你的变量o不是listener.
将您的代码更改为:
public void setFormListener(Object o) {
if (o instanceof DailyFormListener) {
this.formDayListener = (DailyFormListener)o;
}
else if (o instanceof GeneFormListener) {
this.geneFormListener = (GeneFormListener)o;
}
else if (o instanceof LabFormListener) {
this.labFormListener = (LabFormListener)o;;
}
}
Run Code Online (Sandbox Code Playgroud)