【问题标题】:.java uses unchecked and unsafe operation.java 使用未经检查和不安全的操作
【发布时间】:2014-09-14 11:56:58
【问题描述】:

这是我的java代码:

import javax.swing.*;

public class Employee1 extends JFrame {

    JPanel panel;
    JLabel l1;
    JList list;

    public Employee1() {
        super("Employee Details");
        panel = new JPanel();
        l1 = new JLabel("City : ");
        String cities[] = {"Mumbai", "Delhi", "Madras"};
        list = new JList(cities);
        panel.add(l1);
        panel.add(list);
        getContentPane().add(panel);
        setSize(400, 400);
        setVisible(true);
    }

    public static void main(String args[]) {
        Employee1 obj = new Employee1();
    }
}

这段代码给了我警告。java 使用未经检查和不安全的操作。我有考试,所以请帮我完成它

【问题讨论】:

    标签: java swing warnings unsafe unchecked


    【解决方案1】:

    您应该为您的 JList 使用类型参数,因为这是一个泛型错误并且 JList 支持泛型。

    更改:

    JList listJList<String> list
    list = new JList(cities)list = new JList<>(cities)

    public class Employee1 extends JFrame {
        private final JPanel panel;
        private final JLabel l1;
        private final JList<String> list;    // <--- first change
    
        public Employee1() {
            super("Employee Details");
    
            final String[] cities = {"Mumbai", "Delhi", "Madras"};
    
            panel = new JPanel();
            l1    = new JLabel("City : ");
            list  = new JList<>(cities);     // <--- second change
    
            panel.add(l1);
            panel.add(list);
            getContentPane().add(panel);
    
            setSize(400, 400);
            setVisible(true);
        }    
    }
    

    有关此主题的信息和示例,请参阅 Lesson: Generics

    【讨论】:

    • 我是初学者,所以请解释一下我需要改变的地方
    • +1 表示泛型类型安全,但另请参阅 pack()Initial Threads
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多