This question already has an answer here:
I have an arraylist with type patient_class and the arraylist type has been underlined in yellow and the IDE has mentioned "redundant type arguments in new expression (use diamond operator instead)".
My problem is: Should I use the diamond operator instead? Is it a must? Will I get any data loss or any other problem when storing records to the arraylist?
Here is my 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>();
To be honest I have no idea what a diamond operator actually is.
Don't worry. It's not an evil. It's feature of Java 7.
The purpose of the diamond operator is to simplify instantiation of generic classes.
For example, instead of
with the diamond operator we can write only
If you want to know more about it and want to use it, please have a quick look here and decide whether it's useful to you or not.
The diamond operator is used to specify what type of data you are going to use in the Collections.
For example,
ArrayList<String> list = new ArrayList<String>()
.In Java 7, we can eliminate the type like: