list集合

新手上路,请多包涵

List<String> a=ArrayList<>();
List<String> a=ArrayList();
下面这种写法有什么问题吗?感觉也可以啊

阅读 1.7k
2 个回答
✓ 已被采纳新手上路,请多包涵

突然想到答案,没有任何性能区别 ,运行时泛型已经擦除,下面写法好像是jdk1.5 现在比较少见

List<String> a= new ArrayList<String>();
List<String> b= new ArrayList();
想知道它们的区别,那就查看ArrayList<E>这个类查看她的代码,不看逻辑的话,构造函数有
public ArrayList(int initialCapacity) {...}
public ArrayList(){...}
public ArrayList(Collection<? extends E> c){...}
而不管你使用a还是b的实例化方式,调用的都是无参的构造函数

public ArrayList() {
    this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
}

所以说不是有什么区别的问题,而是两种方式调用的都是同一个构造函数,完全一样的!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题