Java中的菱形运算符是啥? [复制]
Posted
技术标签:
【中文标题】Java中的菱形运算符是啥? [复制]【英文标题】:What is the diamond operator in Java? [duplicate]Java中的菱形运算符是什么? [复制] 【发布时间】:2013-04-27 11:56:09 【问题描述】:我有一个类型为 patient_class 的数组列表,该数组列表类型用黄色下划线,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>();
说实话,我不知道钻石操作员到底是什么。
【问题讨论】:
【参考方案1】:别担心。这不是邪恶。这是 Java 7 的特性。
菱形运算符的目的是简化泛型类的实例化。
例如,而不是
List<Map<Integer,Set<String>>> p = new ArrayList<Map<Integer,Set<String>>>();
使用菱形运算符我们只能写
List<Map<Integer,Set<String>>> p = new ArrayList<>();
如果您想了解更多并想使用它,请快速查看here 并决定它是否对您有用。
【讨论】:
【参考方案2】:菱形运算符用于指定要在集合中使用的数据类型。
例如,ArrayList<String> list = new ArrayList<String>()
。
在 Java 7 中,我们可以消除如下类型:
ArrayList<String> list = new ArrayList<>()
【讨论】:
以上是关于Java中的菱形运算符是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
PostgreSQL 中的 add equals 运算符是啥? [复制]