2013-05-03 13 views
14

私はpatient_class型のarraylistを持っていて、arraylist型は黄色で下線が引かれていて、IDEは "新しい式の重複型引数(代わりにダイヤモンド演算子を使用する)"と述べています。Javaのダイヤモンド演算子は何ですか?

私の問題は:代わりにダイヤモンド演算子を使うべきですか?それは必須ですか?レコードを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>(); 

私はダイヤモンドのオペレータが実際に何であるか見当がつかない正直に言うと。

答えて

42

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

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

たとえば、代わりに

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

のダイヤモンド演算子で、私たちは、あなたがそれについての詳細を知りたいし、それを使用したい場合は、簡単に見を持ってくださいだけ

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

を書くことができますhereとあなたに役立つかどうかを決定します。

2

ダイヤモンド演算子は、コレクションで使用するデータの種類を指定するために使用します。

たとえば、ArrayList<String> list = new ArrayList<String>()。 Javaの7では

、我々は次のようにタイプを排除することができます

ArrayList<String> list = new ArrayList<>() 
関連する問題