Что такое алмазный оператор на 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>();
Честно говоря, я понятия не имею, что такое алмазный оператор.
Ответы
Ответ 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<>()