web-dev-qa-db-ja.com

Javaのdiamond演算子とは何ですか?

私は、patient_classタイプのarraylistを持っています。arraylistタイプには黄色の下線が引かれ、IDEは「新しい式の冗長なタイプ引数(代わりにダイヤモンド演算子を使用)」と言及しています)。

私の問題は、代わりにdiamond演算子を使用する必要がありますか?必見ですか?レコードを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>();

正直なところ、ダイヤモンドオペレーターが実際に何であるかはわかりません。

17
Shehan.W

心配しないで。それは悪ではありません。 Java 7.の機能です。

Diamond演算子の目的は、ジェネリッククラスのインスタンス化を簡略化することです。

たとえば、代わりに

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

diamond演算子を使用すると、書き込みのみが可能

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

それについてもっと知りたい、それを使用したい場合は、簡単に見てください ここ それが有用かどうかを判断してくださいあなたにかどうか。

44
Suresh Atta

Diamond演算子は、コレクションで使用するデータのタイプを指定するために使用されます。

たとえば、ArrayList<String> list = new ArrayList<String>()などです。

Java 7では、次のようなタイプを削除できます。

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