坑不要使用各种框架提供的内部List

Posted z00377750

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了坑不要使用各种框架提供的内部List相关的知识,希望对你有一定的参考价值。

为了代码简洁有时我们会使用一些框架提供的工具类。如

import org.apache.commons.collections.ListUtils;
package java.util.Collections;

 List<String> strList = ListUtils.EMPTY_LIST;

List<String> strList1 = Collections.emptyList();

实际该空List是个内部类,没有实现add等方法,使用时会报错。


 /**
    * {@inheritDoc}
    *
    * <p>This implementation always throws an
    * {@code UnsupportedOperationException}.
    *
    * @throws UnsupportedOperationException {@inheritDoc}
    * @throws ClassCastException            {@inheritDoc}
    * @throws NullPointerException          {@inheritDoc}
    * @throws IllegalArgumentException      {@inheritDoc}
    * @throws IndexOutOfBoundsException     {@inheritDoc}
    */
   public void add(int index, E element) {
       throw new UnsupportedOperationException();
   }

又如,使用

arrays.aslist(T...a)

再进行add操作,同样会报该错。
https://www.2cto.com/kf/201806/751606.html

因此,还是老老实实使用下面方式初始化List

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

或者确认工具类提供的是java的ArrayList再使用。

以上是关于坑不要使用各种框架提供的内部List的主要内容,如果未能解决你的问题,请参考以下文章

使用 Flask 框架写用户登录功能的Demo时碰到的各种坑——对 run.py 的调整

使用 Flask 框架写用户登录功能的Demo时碰到的各种坑——使用Flask-Login库实现登录功能

小程序各种功能代码片段整理---持续更新

使用 Flask 框架写用户登录功能的Demo时碰到的各种坑——创建应用

使用 Flask 框架写用户登录功能的Demo时碰到的各种坑——使用蓝图功能进行模块化

后端PHP框架laravel学习踩的各种坑