如何通过非泛型的子类从父类正确访问泛型方法?

巴津加

我有一个此类(称为child),SwingJava库中扩展了JComboBox类现在,当我创建的对象child并尝试addItem(Object)通过传入来对其调用方法String,会收到以下警告:

Type safety: The method addItem(Object) belongs to the raw type JComboBox. References to generic type JComboBox<E> should be parameterized.

调用此方法的正确方法是什么?我无法实例化child泛型类型,<String>因为child它不是泛型的;我看不出该怎么做。任何帮助,将不胜感激。

PS。child不能更改的内容

卢克·梅拉亚(Luke Melaia)

您想要的是让您的孩子成为孩子的孩子JComboBox<String>,而不仅仅是孩子JComboBox这将停止弹出的小警告。

例子:

public class Child extends JComboBox<String>{

}

当您执行此操作时,所有通用方法,字段等现在都是aString而不是a Object

编辑:

我看到你说过你不能改变孩子的班级。这使事情变得相当困难。

确实没有做到这一点的直接方法,即使解决方法最终仍会显示此警告。您可以使用的一个选项(我可以看到)用于@SuppressWarnings("unchecked")产生警告的代码上方的注释。这将阻止警告显示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章