JComboBox是原始类型.应参数化对泛型类型JComboBox <E>的引用

tss*_*123 16 java generics parameterized type-safety

String[] boxOptions = {"1","2","4","8","16","20","40","100","400"};
JComboBox box = new JComboBox(boxOptions);
Run Code Online (Sandbox Code Playgroud)

我以前在我的程序中有这些确切的代码行,并没有收到此错误.我做了一些搜索,我发现的结果有点过头了.有任何想法吗?

错误是:

JComboBox is a raw type. References to generic type JComboBox<E> should be parameterized
Run Code Online (Sandbox Code Playgroud)

Bob*_*der 25

您可以使用:

JComboBox<String> box = new JComboBox<>(boxOptions);
Run Code Online (Sandbox Code Playgroud)

JComboBox是因为现在是一个通用类.


小智 6

从Java 7开始,泛型被引入到JComboBox组件中.也许你之前使用的是Java6.你应该在JComboBox<String>那里添加第二行.