如何将类型安全对象转换为JComboBox <String>?

时间:2019-12-31 04:25:37

标签: java generics casting

我有此代码:

@Override
public void itemStateChanged(ItemEvent evt) {
    if (evt.getStateChange() == ItemEvent.SELECTED) {
        Object sourceObject = evt.getSource();

        if (sourceObject instanceof JComboBox<?>) {
            JComboBox<String> jComboBox = (JComboBox<String>) sourceObject;
        }
    }
}

对于泛型类型安全性并避免压制警告,最佳和正确的转换是什么?

1 个答案:

答案 0 :(得分:0)

您钉了它。运行时instanceof检查不会检查通用参数,因此显示方式是完成操作的标准方式。