java 关于使用接口

小小丁灬 发布于 2016/10/08 11:26
阅读 297
收藏 0

一般我们用 List  都是这样写的: List<String> list=new ArrayList<String>();

但这这么写也有点问题, 在 ArrayList 中有个 trimToSize方法,可以把数组多余空间去除,这样的写法会使得list无法调用到 trimToSize方法.

应该怎么样才能调用 trimToSize 方法?一定要用 ArrayList<String> list=new ArrayList<String>(); 这样写?

加载中
1
魔仙剑痴
list强制转换为arraylist,就可以调用trimtosize方法了,手机打字。
1
抢小孩糖吃
抢小孩糖吃

List<String> list = new ArrayList<>();

        if(list instanceof ArrayList) {
            ((ArrayList) list).trimToSize();
            System.out.println(true);
        }




1
GestureWei
GestureWei
如果需要用特定的类或方法,就直接指明,例如你代码中的ArrayList的trimToSize()成员;如果想用更加抽象的接口,就不要使用与这个接口不想关的方法,会使代码丧失通用性。而且trimToSize()的内部实现是将ArrayList内部数据重新拷贝至一个新的数组中,频繁使用导致性能不佳
0
太黑_thj
太黑_thj
必须的啊,因为父类是不能调用子类的方法的
0
f
freezingsky
没有特定理由,不要调用  trimToSize 
返回顶部
顶部