java吧 关注:1,298,929贴子:12,836,916
  • 14回复贴,共1

Java 每日一题:2016年8月26日

只看楼主收藏回复

每天在这里贴一道 Java 题。
问题不难,有 Java 的基本知识就可以做出来。
问题也不偏,日常工作中时不时会碰到。
每日一题索引页:52.36.153.52:8080/javaquestions/

请问程序输出结果是什么?


1楼2016-08-26 13:12回复
    最后的//在 List 中增加元素
    strList.add("五"); //1 报错
    Exception in thread "main" java.lang.UnsupportedOperationException
    at java.util.AbstractList.add(Unknown Source)
    at java.util.AbstractList.add(Unknown Source)
    at CHello8_25.main(CHello8_25.java:23)
    然后我把strArray加入一个空的位置,然后用
    strList.set(5, "5");
    System.out.println(strList.get(5));
    可以把5加进去


    4楼2016-08-26 13:42
    收起回复
      2026-03-08 12:18:19
      广告
      不感兴趣
      开通SVIP免广告
      Arrays内部数组引用的是strArray数组的地址,输出的结果就是同步的,但是最后一个add方法报错就不知道为什么了,还望楼主解释一下


      IP属地:湖北7楼2016-08-26 16:54
      收起回复
        http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/html/zh_CN/api/java/util/Arrays.html#asList(T...)
        public static <T> List<T> asList(T... a)返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直接写”到数组。)此方法同Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。
        这个方法返回的 List 可以看作是数组的一个视图。你不能对这个 List 使用 add 或 remove 方法,因为这个 List 对应的是一个数组(数组的大小不能改变)。
        查看源代码可以看出,这个List 是一个 Arrays.ArrayList (这是 Arrays 的一个内部静态类,不是我们经常使用的 java.util.ArrayList)。它的 add/remove方法直接继承自父类(java.util.AbstractList)。下面是 add 和 remove 方法:
        public boolean add(E e) {
        add(size(), e);
        return true;
        }
        public void add(int index, E element) {
        throw new UnsupportedOperationException();
        }
        public E remove(int index) {
        throw new UnsupportedOperationException();
        }
        如果你增加或删除元素,会抛出 UnsupportedOperationException 异常。


        8楼2016-08-26 21:43
        回复
          java.lang.UnsupportedOperationException


          9楼2016-08-26 23:43
          回复
            结果是


            但是会抛出异常


            10楼2016-08-26 23:43
            回复
              楼主快更今天的啊


              IP属地:湖北11楼2016-08-27 11:39
              回复


                来自Android客户端12楼2016-09-01 09:33
                回复