gpt4 book ai didi

java - 从接口(interface)方法中排除类的最有效方法

转载 作者:行者123 更新时间:2023-11-29 10:05:09 26 4
gpt4 key购买 nike

到目前为止,我已经使用以下代码将某些方法的应用限制在某些类的实例上。例如,使用 ItemListener,但这可以应用于很多事情,

public class mListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {

if (!(e.getItemSelectable instanceof JCheckBox)) { //again, JCheckBox was chosen arbirtarily
System.err.println("mListener can only be applied to a JCheckBox");
return;
}

}
}

但是,在 Oracle Java 教程的一些地方,我看到了以下代码

public class mListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {
JCheckBox box = null;

try {
box = (JCheckBox) e.getItemSelectable();
} catch (ClassCastException ex) {
System.err.println("mListener can only be applied to a JCheckBox");
return;
}

}
}

锁定不希望应用方法的类的最佳方法是什么?尤其是在实现接口(interface)的情况下,参数无法更改。

最佳答案

在这两种情况下,这都是一个编程错误。监听器添加不当。对此的正确回应几乎肯定不仅仅是打印出一条可能永远不会被看到的消息——这是一个异常(exception)。

简单的转换会给你那个异常,你不需要做任何工作,所以只是无条件地转换,不要试图掩盖编程错误。

关于java - 从接口(interface)方法中排除类的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10983577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com