List<Integer> intList = new ArrayList<Integer>();
ArrayList<Integer> intList = new ArrayList<Integer>();第一种表达相对第二种表达有什么优势?

解决方案 »

  1.   

    第一种是对接口编程
    第二种是对类编程
    对接口编程比对类编程耦合度更低一些
    比如现在用的是ArrayList,如果哪天业务需要用LinkedList了,第二种方式的就要修改声明
    优点在工程很小的时候根本体现不出来
    在较大项目,多模块合作,且需要经常扩展,修改的时候就能体现出其优势了
    一般会使用工厂+xml配置的方式,动态生成对象
    修改一下xml配置,就可以更换所用的类,而不需要修改代码,编译,再发布,这样复杂的动作