eclipse Java对象定义速记还是快捷方式?
有没有一种更快的方法可以在Java中实例化不需要重新键入类的对象?例如,看看这本实例化的大部头:
HashMap<Integer, ArrayList<ActivityRecord>> days = new HashMap<Integer, ArrayList<ActivityRecord>>();
我想要一个大致如下的速记:
HashMap<Integer, ArrayList<ActivityRecord>> days = new();
另外,我也很乐意使用一个Eclipse快捷方式来自动完成实例化,以使用无参数构造函数
# 1 楼答案
如果您使用的是Java 7及以上版本,则可以使用diamond operator:
此外,在声明变量时,最好尽可能使用接口,而不是具体的类。因此,上述情况实际上是:
如果您使用的是Java 6,那么可以使用Google Guava来实现这一点:
要进一步阅读,可以查看Type Inference documentation中关于泛型类的类型推断和实例化的部分
# 2 楼答案
如果你使用的是Java6(或更早版本),那么谷歌番石榴就派上用场了
# 3 楼答案
您应该使用Java 7 diamond operator,因为您通常会对接口进行编码,而不是对引用和实例使用同一个类