开发者社区> 问答> 正文

java 关于使用接口:报错

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

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

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

展开
收起
kun坤 2020-06-09 23:10:54 516 0
1 条回答
写回答
取消 提交回答
  • list强制转换为arraylist,就可以调用trimtosize方法了,手机打字。######

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

        if(list instanceof ArrayList) {
            ((ArrayList) list).trimToSize();
            System.out.println(true);
        }</pre> 
    




    ######如果需要用特定的类或方法,就直接指明,例如你代码中的ArrayList的trimToSize()成员;如果想用更加抽象的接口,就不要使用与这个接口不想关的方法,会使代码丧失通用性。而且trimToSize()的内部实现是将ArrayList内部数据重新拷贝至一个新的数组中,频繁使用导致性能不佳
    ######必须的啊,因为父类是不能调用子类的方法的
    ######没有特定理由,不要调用   trimToSize 
    2020-06-09 23:10:58
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载