Java中的菱形运算符是什么?

Java中的菱形运算符是什么?,java,arrays,arraylist,diamond-operator,Java,Arrays,Arraylist,Diamond Operator,我有一个patient_类类型的arraylist,arraylist类型用黄色下划线,IDE提到“新表达式中的冗余类型参数(改用菱形运算符)” 我的问题是:我应该使用菱形操作符吗?这是必须的吗?将记录存储到arraylist时是否会出现数据丢失或任何其他问题 这是我的arraylist: public class Register_newpatient extends javax.swing.JFrame { public Register_newpatient() {

我有一个patient_类类型的arraylist,arraylist类型用黄色下划线,IDE提到“新表达式中的冗余类型参数(改用菱形运算符)”

我的问题是:我应该使用菱形操作符吗?这是必须的吗?将记录存储到arraylist时是否会出现数据丢失或任何其他问题

这是我的arraylist:

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>();
公共类寄存器\u newpatient扩展javax.swing.JFrame{
公共登记处新病人(){
初始化组件();
groupbutton();
}
public void groupbutton()
{
ButtonGroup bg1=新建ButtonGroup();
bg1.add(rbopd);
bg1.add(RBI患者护理);
bg1.添加(两个);
}
all_error_HANDING checkerror=新的all_error_HANDING();
JFrame=新JFrame();
静态ArrayListpatientlist=新ArrayList();

老实说,我不知道菱形运算符实际上是什么。

别担心。它不是邪恶的。它是Java 7的特性

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

例如,代替

List<Map<Integer,Set<String>>> p = new ArrayList<Map<Integer,Set<String>>>();
List p=new ArrayList();
使用菱形操作符,我们只能写

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

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

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

例如,
ArrayList list=new ArrayList()

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

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