实际开发中经常会用到将集合转换成数组进行操作,list有两种方法可以进行数组的转换。

首先看下List的这两个方法的说明:

 Object[ ] toArray() :返回按适当顺序包含列表中的所有元素的数组(从第一个元素到最后一个元素)。

<T> T[ ]  toArray(T[] a) :返回按适当顺序(从第一个元素到最后一个元素)包含列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。

-----------------------------------------------------------------------------------------------------------------------------

Collection<String> arr = new ArrayList<String>();

arr.add("a");

arr.add("b");

arr.add("b");//可以添加重复的对象

Object[] obj = arr.toArray();//第一种方法

// String[] str = (String[])arr.toArray();//error

String[] obj1 = arr.toArray(new String[3]);//第二种方法

针对上面注释的那行代码报错进行分析:

数组不能直接(String[])这样强制将数组变量转换,只有在使用使将元素转换为String,

原因:因为数组是不具体分配内存的,如:String[] x=new String[10];

只有在x[0]=new String("dsgds");时才分配具体内存给对象

例如:

Object[] arr1 = {"man","m","yan"};

//String[] arrs = (String[])arr1; //error

for(int i = 0;i <arr1.length;i++){

System.out.println((String)arr1[i]);

}

上面的第二种方法就是这样实现的。

集合转换成数组的两种方法---toArray()和toArray(T[] a)相关推荐

  1. 将word文件转换成PDF的两种方法

    由于工作需要,使用了两种方式实现了word文件转PDF的功能.以下的程序是我使用VB6编写,供大家参考. 第一种方法,使用PDFMAKERAPILib,使用这种方法,可以设置文件的安全性.这种方式是A ...

  2. python(opencv2、PIL)将图片透明背景转换成白色背景的两种方法

    对于急需要用的朋友可以直接用下面的代码 opencv2实现 import cv2def alpha2white_opencv2(img):sp=img.shapewidth=sp[0]height=s ...

  3. 浅谈集合转换成数组的方法--toArray()与toArray(T[] a)

    众所周知,ArrayList 集合的底层是通过数组来实现的,但是集合与数组还是有一些区别的,简单来说,集合的长度是可变的,而数组的长度是不可变的,通过这点可以引发出一点效率上的差异,当所处理的数据长度 ...

  4. java代码二进制转为十六进制_Java 中二进制转换成十六进制的两种实现方法

    Java 中二进制转换成十六进制的两种实现方法 每个字节转成16进制,方法1 /** * 每个字节转成16进制,方法1 * * @param result */ private static Stri ...

  5. 将数组转化成字符串的两种方法

    将数组转化成字符串的两种方法 let arr = [1,2,8,9,'西瓜']; console.log(arr.toString());//将数组转化为字符串 console.log(arr.toS ...

  6. java 把map转换成json_map转换成JSON的3种方法

    1 json-lib net.sf.json-lib json-lib 2.4 jdk15 import java.util.HashMap; import java.util.Map; import ...

  7. python把矩阵存为文件_python 读取文件并把矩阵转成numpy的两种方法

    在当前目录下: 方法1: file = open('filename') a =file.read() b =a.split('\n')#使用换行 len(b) #统计有多少行 for i in ra ...

  8. badatatable转成json_C# DataTable 转换成JSON数据 三种方法

    在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List.DataTable转换为Json格式.特别在使用Extjs框架的时候,Ajax异步请求的数 ...

  9. python numpy读取数据_大神教你python 读取文件并把矩阵转成numpy的两种方法

    导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...

最新文章

  1. js小案例:定时轮播图
  2. weblogic数据源配置的问题,weblogic密码破解
  3. class h5 点击后样式变化_【php】JQuery怎么实现页面刷新后保留鼠标点击addclass的样式?...
  4. 服务器训练数据 关闭终端,一文明白使用nohup将服务器训练程序后台运行不关闭+随时通过查看训练情况输出与visdom可视化...
  5. linux命令(44):sed,vim;去掉文件中的^M 符号,去掉行首空格和制表符
  6. DoWhile(Java)
  7. Python网络编程基础【底层网络】
  8. 刀片系统服务器优点,刀片服务器是什么?介绍ibm刀片服务器优点
  9. 由于您的系统没有安装html help,教你解决Chrome浏览器未安装flash控件方法
  10. 上海数据分析师面试经历
  11. 时间戳 天数 php,php时间戳转天数
  12. matplotlib.animation 万有引力
  13. execl函数的用法
  14. 这4个文档排版方式掌握了,工作效率提高的不止一点点!
  15. 何为三网融合?---经典解释
  16. medium_socnet靶场
  17. Hack The Box 注册邀请码破解记录
  18. activiti6执行Python脚本
  19. 视频网站忙结盟 酷6逆势转型SNS视频模式
  20. CSS计数器(序列数字字符自动递增)详解———张鑫旭

热门文章

  1. 互联网盈利模式77种创新
  2. 亚马逊测评系统软件搭建教程:luminati+候鸟防关联浏览器环境
  3. 电脑越用越卡想清又不敢删?搞懂这些文件夹,一键删除省出几个G
  4. 一个IT人才的精彩故事
  5. 微信小程序开发: 开发前准备工作
  6. 单链表的基本操作-插入结点、删除结点、新建链表、查找结点位置
  7. 用python画 pareto front
  8. chiplogic-网表提取-(2)二极管三极管电阻器件插入
  9. python与建筑行业_Python+AI+CC,这些建模“高级功能”,90%的人不知道
  10. 《论文笔记》—— Self-supervised Image-specific Prototype Exploration for Weakly Supervised Semantic Segment