爪哇的钻石运营商是什么?

2022-09-02 19:21:13

我有一个类型为patient_class的数组列表,数组列表类型用黄色下划线,IDE提到了“新表达式中的冗余类型参数(使用菱形运算符)”。

我的问题是:我应该改用钻石运算符吗?这是必须的吗?将记录存储到数组列表时,我是否会遇到任何数据丢失或任何其他问题?

这是我的数组列表:

public class Register_newpatient extends javax.swing.JFrame {

    public Register_newpatient() {
        initComponents();
        groupbutton();
    }

    public void groupbutton()
    {
        ButtonGroup bg1=new ButtonGroup();

        bg1.add(rbopd);
        bg1.add(rbinpatientcare);
        bg1.add(rbboth);
    }

    all_error_handling checkerror = new all_error_handling();
    JFrame frame = new JFrame();
    static ArrayList<patient_class>patientlist = new ArrayList<patient_class>();

老实说,我不知道钻石经营者到底是什么。


答案 1

不用担心。这不是一种邪恶。这是Java 7的功能。

菱形运算符的目的是简化泛型类的实例化。

例如,而不是

List<Map<Integer,Set<String>>> p = new ArrayList<Map<Integer,Set<String>>>();

使用金刚石操作员,我们只能写

List<Map<Integer,Set<String>>> p = new ArrayList<>();

如果您想了解有关它的更多信息并想使用它,请在此处快速查看并确定它是否对您有用。


答案 2

菱形运算符用于指定要在集合中使用的数据类型。

例如。ArrayList<String> list = new ArrayList<String>()

在Java 7中,我们可以消除以下类型:

ArrayList<String> list = new ArrayList<>()