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

标签 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;
        }
    }
}

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

最佳答案

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

关于java - 如何将类型安全对象强制转换为 JComboBox<String>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59539568/

相关文章:

java - 为什么我的代码无法实时更新 JTextArea?

java - 计算字符串中小写字母的数量并以直方图的形式打印出它们的出现次数?

c# - 使用类型 T 的成员创建类的实例,但不指定 T 类型

generics - 在什么条件下 unit 是一个类型?

c++ - static_cast<const A>(*this) 和 static_cast<const A&>(*this) 的区别

java - 单一职责原则 - 我的类(class)

java - Android - onPause 和 WidgetLocker

typescript 中的泛型无法正常工作?

casting - 将 STD_LOGIC 连接到一位 STD_LOGIC_VECTOR

c++ - 类型转换 C++