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