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 ArrayListpatientlist = new ArrayList();
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
List>> p = new ArrayList>>();
with the diamond operator we can write only
List>> p = new ArrayList<>();
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.