开发者社区> 问答> 正文

Java使用工具类 Arrays.asList()把数组转换成集合时,可不可以使用修改集合相关的方法

Java使用工具类 Arrays.asList()把数组转换成集合时,可不可以使用修改集合相关的方法?

展开
收起
鲁花花生油 2021-10-12 17:18:40 1253 0
1 条回答
写回答
取消 提交回答
  • 使用工具类 Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,它的 add/remove/clear 方法会抛出 UnsupportedOperationException 异常。

    说明:asList 的返回对象是一个 Arrays 内部类,并没有实现集合的修改方法。Arrays.asList体现的是适配器模式,只是转换接口,后台的数据仍是数组。

    String[] str = new String[] { "you", "wu" };

    List list = Arrays.asList(str);

    第一种情况:list.add("yangguanbao"); 运行时异常。

    第二种情况:str[0] = "gujin"; 那么 list.get(0)也会随之修改。

    资料来源:电子书《阿里巴巴Java开发手册》,下载链接:https://developer.aliyun.com/topic/download?id=1092

    2021-10-12 17:19:43
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载