Что такое алмазный оператор на Java? - программирование
Подтвердить что ты не робот

Что такое алмазный оператор на Java?

У меня есть arraylist с типом patient_class, а тип 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>();

Честно говоря, я понятия не имею, что такое алмазный оператор.

4b9b3361

Ответ 1

Не волнуйся. Это не зло. Это функция Java 7.

Цель оператора алмаза - упростить создание экземпляров родовых классов.

Например, вместо

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

с алмазным оператором мы можем написать только

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

Если вы хотите узнать больше об этом и хотите его использовать, пожалуйста, быстро просмотрите здесь и решить, полезно ли это вам или нет.

Ответ 2

Алмазный оператор используется для указания типа данных, которые вы собираетесь использовать в Коллекциях.

Например, ArrayList<String> list = new ArrayList<String>().

В Java 7 мы можем исключить тип типа:

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