什么是Java中的钻石运营商? [重复](What is the diamond operato

2019-09-01 19:47发布

这个问题已经在这里有一个答案:

  • 什么是钻石运营商的Java 7中的点? 7个回答

我有型patient_class和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>();

说实话,我不知道什么钻石运营商实际上是。

Answer 1:

别担心。 这不是一个邪恶的。 它的Java 7的功能。

钻石运营商的目的是简化泛型类的实例。

例如,而不是,

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

与钻石经营者,我们只能写

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

如果你想知道更多关于它,想使用它,请快速浏览一下这里 ,并决定是否对你有用。



Answer 2:

菱形操作符是用来指定你要在集合使用什么类型的数据。

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

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

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


文章来源: What is the diamond operator in Java? [duplicate]