zoukankan      html  css  js  c++  java
  • 建议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

  • 相关阅读:
    mtd-utils 工具的使用
    nand flash坏块管理OOB,BBT,ECC
    Ubifs Support
    linux 关闭显示器命令
    玩转shell之符号篇
    shell中的cut命令
    【详解】如何编写Linux下Nand_Flash驱动_v1.2
    Nand 的几个名词:oob,bbt,ecc
    mtd-utils 及 ubi-utils 交叉编译
    UBIFS分区制作及UBIFS烧写和启动
  • 原文地址:https://www.cnblogs.com/alway-july/p/6654529.html
Copyright © 2011-2022 走看看