18

患者クラス型の arraylist があり、arraylist 型に黄色の下線が引かれ、IDE は「新しい式に冗長な型引数があります (代わりに菱形演算子を使用してください)」と述べています。

私の問題は次のとおりです。代わりにダイヤモンド演算子を使用する必要がありますか? それは必須ですか?レコードを 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>();

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

4

2 に答える 2

49

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

ひし形演算子の目的は、ジェネリック クラスのインスタンス化を単純化することです。

たとえば、代わりに

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

ダイヤモンド演算子を使用すると、次のようにしか記述できません

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

それについてもっと知りたい、それを使いたいと思ったら、ここをざっと見て、それがあなたにとって役に立つかどうかを判断してください.

于 2013-05-03T06:21:31.660 に答える
4

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

たとえば、ArrayList<String> list = new ArrayList<String>().

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

ArrayList<String> list = new ArrayList<>()
于 2013-05-03T06:22:46.573 に答える