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

  • 相关阅读:
    mysql drop table & myisam
    python 发送 html email
    python mysqldb 查询返回字典结构
    shell 脚本 连接数据库
    python 中使用map 构建sql查询语句
    C#启动一个外部程序(1)WinExec
    知道在那里划这一条线吗[zt]
    C#启动一个外部程序(2)ShellExecute
    把FlashCom 帮助安装到Flash 8 中文版
    C#读写ini文件
  • 原文地址:https://www.cnblogs.com/alway-july/p/6654529.html
Copyright © 2011-2022 走看看