这意味着Java编译器已经注意到您的代码存在一些潜在的不安全问题,并警告您。这些问题通常非常琐碎,您可以继续进行下去。特别是因为这是学校的工作。但是要发现问题,您应该使用再次编译:
javac-Xlint:unchecked Lab8.java如编译器所说。
该文件中的问题是您尚未指定JComboBox和JList处理的对象的类型。由于您只处理JComboBox和JList中的字符串,因此应指定它。阅读上的Java泛型和这个以获取更多信息。
更改
String[] ageRanges = {"Under 20", "20-29", "30-39", "40-49", "50-59", "60 and Above"};JComboBox jcbo = new JComboBox(ageRanges);至
String[] ageRanges = {"Under 20", "20-29", "30-39", "40-49", "50-59", "60 and Above"};JComboBox<String> jcbo = new JComboBox<String>(ageRanges);还要更改:
p2.add(new JComboBox(ageRanges), BorderLayout.CENTER);p2.setBorder(new TitledBorder("Passenger Name & Age Range"));至
p2.add(new JComboBox<String>(ageRanges), BorderLayout.CENTER);p2.setBorder(new TitledBorder("Passenger Name & Age Range"));终于改变
//Create listbox panel.JPanel p3 = new JPanel();p3.setLayout(new GridLayout(1, 0));p3.add(new JList(destination));
至
//Create listbox panel.JPanel p3 = new JPanel();p3.setLayout(new GridLayout(1, 0));p3.add(new JList<String>(destination));
编辑:
不建议将其用于生产代码,但要绕过这些警告,请使用:
@SuppressWarnings("unchecked")只需在进行不安全操作的任何方法之上添加此代码即可。例如,我认为您可以将其放在此代码中的main方法之上,如下所示:
@SuppressWarnings("unchecked") public static void main(String[] args) {...这样可以消除警告。



