【发布时间】:2011-11-10 09:35:08
【问题描述】:
我无法摆脱 java7 中的一个新类型安全警告。
我定义了以下 JCombobox 对象
private JComboBox<Integer> combobox_current_year;
还有构造函数
combobox_current_year = new JComboBox(options.getList_years().toArray());
Java 7 现在给了我以下警告:
类型安全:类型 JComboBox 的表达式需要取消选中 转换为符合 JComboBox
改代码后
combobox_current_year = new JComboBox<Integer>((Integer[]) options.getList_years().toArray());
我得到以下异常:
线程“AWT-EventQueue-0”中的异常 java.lang.ClassCastException: [Ljava.lang.Object; 不能转换为 [Ljava.lang.Integer;在 jamm.gui.FinanzmanagerGui.mainWindow(FinanzmanagerGui.java:123) 在 jamm.StartJamm$1.run(StartJamm.java:43) 在 java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) 在 java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705) 在 java.awt.EventQueue.access$000(EventQueue.java:101) 在 java.awt.EventQueue$3.run(EventQueue.java:666) 在 java.awt.EventQueue$3.run(EventQueue.java:664) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 在 java.awt.EventQueue.dispatchEvent(EventQueue.java:675) 在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) 在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) 在 java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
【问题讨论】:
标签: java swing jcombobox java-7