当前位置: 首页 > news >正文

网站源码如何安装做游戏课程网站

网站源码如何安装,做游戏课程网站,wordpress godaddy,网站建设策划案模板早上到公司#xff0c;刚到工位#xff0c;测试同事就跑来说功能不行了#xff0c;报服务器异常了#xff0c;咋回事;我一脸蒙#xff0c;早饭都顾不上吃#xff0c;要来了测试账号复现了一下#xff0c;然后仔细观察测试服务器日志#xff0c;发现报了一个… 早上到公司刚到工位测试同事就跑来说功能不行了报服务器异常了咋回事;我一脸蒙早饭都顾不上吃要来了测试账号复现了一下然后仔细观察测试服务器日志发现报了一个java.lang.UnsupportedOperationException异常 经排查发现是将一个枚举类中两个元素用Arrays.asList生成一个List集合并且将这个集合当作一个方法的参数传递在该方法中正好使用此List进行了add方法的操作导致异常发生了 Arrays.asList 使用此方式生成的List集合为什么不能执行add方法 先来看下源码 SafeVarargsSuppressWarnings(varargs)public static T ListT asList(T... a) {return new ArrayList(a); // ArrayList 是静态内部类}/*** serial include*/ private static class ArrayListE extends AbstractListEimplements RandomAccess, java.io.Serializable {private static final long serialVersionUID -2764017481108945198L;private final E[] a; //被final修饰不可变ArrayList(E[] array) {a Objects.requireNonNull(array);}Overridepublic int size() {return a.length;} .......... 省略可自行去看源码.... }从源码可见Arrays.asList 实际上也是new了一个 ArrayList但是此处的ArrayList是Arrays这个类中的静态内部类该内部类中的变量a 是被final修饰说明变量a是不可变的数据不可被修改 /*** {inheritDoc}** pThis 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();}其次内部类ArrayList中并没有add的方法而是使用了继承类AbstractList中add方法该方法没有被重写所以直接就抛了UnsupportedOperationException异常正好对应上了 直接使用new ListString list new ArrayList();list.add(王五);首先该ArrayList 是包java.util 下的类虽然也继承了抽象类AbstractList但是重写了抽象类AbstractList中的add方法 /*** Appends the specified element to the end of this list.** param e element to be appended to this list* return tttrue/tt (as specified by {link Collection#add})*/public boolean add(E e) {ensureCapacityInternal(size 1); // Increments modCount!!elementData[size] e;return true;}正是因为重写了add方法所以才没有使用抽象类AbstractList中抛异常的add方法 如何使用Arrays.asList创建的List可以正常执行add操作 上面分析了原因因为Arrays中的静态内部类ArrayList未重写add方法如果执行的add方法是重写后的是否就可以解决? 可以将代码优化成下面的方式 ListString list1 Arrays.asList(张三, 李四); try {list1.add(王五); } catch (UnsupportedOperationException e) {System.out.println(oh, 报错了 e.toString());}//改良方式ListString list2 new ArrayList(Arrays.asList(张三, 李四));list2.add(王五);System.out.println(正常执行 list2);执行效果
http://www.w-s-a.com/news/699795/

相关文章:

  • 选服务好的网站建设亚洲砖码砖专区2022
  • 网站快速查找wordpress 悬停 图片 文字
  • 网站续费 多久想自己做网站该学些什么
  • 可以自己做网站wordpress英文写作插件
  • 国外可以做会员网站的网站怎么查百度竞价关键词价格
  • 新站网站建设亚马逊关键词
  • 电商网站前端架构设计上海市建设工程安全生产协会网站
  • 东莞企业免费模版网站建设一般网站维护要多久
  • 著名建筑设计网站常州制作网站价格
  • 食品营销型网站广东省广州市白云区
  • 如何做网站哪个站推广描述对于营销型网站建设很重要飘红效果更佳
  • 济阳做网站公司99企业邮箱888
  • 国贸做网站的公司能接做网站的活的网站
  • 淮南建设厅网站上杭县建设局网站
  • 东莞做网站公司首选!西安注册公司费用
  • 做网站包括什么卖水果网站模板
  • 扬州网站建设外包wordpress 文章评分
  • 网站建设网站多少钱公司名字大全列表
  • 设计企业网站内容wordpress 投稿者 权限
  • seo网站推广免费价格低的成语
  • 做网站建设销售辛苦吗专题页是什么
  • 做网站的软件名字全拼wordpress可以上传文件吗
  • 建品牌网站公司关于asp_sql网站开发的书籍
  • 建网站公司营销型网站建设wordpress自定义登录页
  • 泉州市住房和城乡建设局网站淘宝店网站怎么做
  • 企业网站建设费未付款怎样挂账长春网站制作专业
  • 深圳找网站建设邹城市建设局网站
  • 长春火车站停运了吗网站开发概要设计
  • 网站开发表格整体页面居中网站域名详解
  • 漕泾网站建设赢展网站建设