数组与集合相互转换的方法_字符串数组转集合list

数组与集合相互转换的方法_字符串数组转集合list数组Array与集合List相互转化有两种方式,一种是自己手动转化,一种是直接使用集合或数组自带的方法转化数组转化集合:方法一:手动转化List<String>list=newArrayList<>();String[]array=newString[]{“hello”,”hi”,”nihao”};for(inti=0;i<array.length;i++){list.add(array[i]);}方法二:使用集合

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

数组Array与集合List相互转化有两种方式,一种是自己手动转化,一种是直接使用集合或数组自带的方法转化
数组转化集合:
方法一:手动转化

List<String> list= new ArrayList<>();
String[] array = new String[] {"hello", "hi", "nihao"};
for (int i = 0; i < array.length; i++) {
    list.add(array[i]);
}

方法二:使用集合自带的asList()方法

String[] array = new String[] {"hello", "hi", "nihao"};
List<String> list = Arrays.asList(array);

集合转数组:
方法一:手动转化

List<String> list = new ArrayList<>();
list.add("hello");
list.add("hi");
list.add("nihao");
String[] array = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
    array[i] = list.get(i);
}

方法二:使用集合的toArray()方法

List<String> list = new ArrayList<>();
list.add("hello");
list.add("hi");
list.add("nihao");
String[] array = list.toArray(new String[0]);

集合的toArray()方法直接把List集合转换成数组,这里需要注意,不能这样写:
String[] array = (String[]) list.toArray();
这样写,编译运行时会报类型无法转换java.lang.ClassCastException的错误
因为java中的强制类型转换是针对单个对象才有效果的,而List是多对象的集合,所以将整个List强制转换是不行的
正确的写法应该是这样的 String[] array = list.toArray(new String[0]);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191997.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电脑爱好者GHOSTWIN7纯净版V3.0

    电脑爱好者GHOSTWIN7纯净版V3.0系统特色:1系统使用系统总裁论坛最新封装工具和IT天空论坛最新驱动包制作而成2主题已破解,可使用第三方主题3我的文档收藏夹虚拟内存智能转移非系统分区4集成DirectX最新版本运行库,VB、VC++2005SP1、2008、2010、2012等运行库文件。…

    2022年5月2日
    65
  • shell getopt「建议收藏」

    shell getopt「建议收藏」getopt简介命令语法解析规则短选项长选项双引号的作用shell脚本示例shift命令set命令eval实际运行最后getopt简介以下主要翻译自mangetopt。getopt是用来解析传入shell的命令行参数的,它可以支持如‘rm-r’中’-r’形式的参数解析。命令语法先从一个较为明了的语法开始getopt-ooptstring–paramete

    2022年4月29日
    154
  • Advanced SystemCare激活

    Advanced SystemCare激活AdvancedSystemCare6.x(x>=1)激活方案 1,请先在电脑上安装6.0版本。输入以下激活码激活:注册码:4A639-FD966-C5435-512C4[使用6.0版本用以上注册码可以激活]更多注册码CC52B-28CB1-DAF12-A96D6 65792-57FC4-5CEC1-677C4 4A639-FD966-C5435-512C

    2022年10月20日
    2
  • js 根据内容 生成二维码_html怎么生成二维码

    js 根据内容 生成二维码_html怎么生成二维码js生成二维码以及插入图片先根据qrcode官网demo,不同属性值的变化,二维码的变化效果:https://larsjung.de/jquery-qrcode/latest/demo/进入demo中,审查元素查看里面引用的js文件,你会发现jquery-qrcode-0.14.0.js,这个版本支持二维码中插入图片。下面是我写的一个列子:引用js:&lt;scripttype="text/ja…

    2022年10月17日
    3
  • phpstorm激活码2021(破解版激活)

    phpstorm激活码2021(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    48
  • 蓝桥杯题目 计算后续日期

    蓝桥杯题目 计算后续日期蓝桥杯题目计算后续日期题目描述我们经常要计算 从今天往后 N 天之后是哪一天 哪年哪月哪日 现在我们就可以编写一个程序 推算指定日期之后的第 N 天是什么日期 输入输入有多组 每组测试用例有一行 包括四个整数 分别表示年 月 日和第 N 天 输出对于每组测试用例 输入由一行组成 表示 年月日 N 天后的 的年 月 日样例输入样例输出 2012

    2025年8月24日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号