• 建议66,67 注意Arrays.asList()的使用


    代码

    public static void main(String[] args) {
    int[]data = {1,2,3,4,5};
    List list = Arrays.asList(data);
    System.out.println(list);
    System.out.println(data.length);

    }

    打印出结果

    [[I@4dc63996]
    1

    Arrays.asList()

    asList方法输入的是一个泛型变长参数,基本类型不能泛型化的,但是程序没有报错,例子是把int类型的数组作为了T的类型,所以转换后再List就只有一个为int数组的元素

    代码

    public static void main(String[] args) {
    Integer []data = {1,2,3,4,5};
    List list = Arrays.asList(data);
    list.add(6);

    }

    输出

    Exception in thread "main" java.lang.UnsupportedOperationException
    at java.util.AbstractList.add(AbstractList.java:148)
    at java.util.AbstractList.add(AbstractList.java:108)
    at com.jxufe.rule.Client.main(Client.java:16)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

    Arrays.asList()返回一个ArrayList ,但是这个ArrayList是Arrays的内部静态类,

    这个内中没有实现AbstractList的add方法,在Abstract中 public void add(int index, E element) { throw new UnsupportedOperationException(); }

    会抛出Exception

  • 相关阅读:
    SQL 统计两个表的数据,按同一日期分组
    SQL 隐藏手机号中间四位
    SVN本地代码未提交而被覆盖
    [转]VS2012 快捷键
    IE8下String的Trim()方法失效的解决方案
    IE8下导入EXCEL数据传到客户端以附件下载
    jenkins插件
    OJ练习28——T118 Pascal's Triangle
    OJ练习27——T112 Path Sum
    OJ练习26——T111 Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/alway-july/p/6654529.html
Copyright © 2020-2023  润新知