Java 数组内置函数toArray详解


Posted in Java/Android onJune 28, 2021

java.util.List中的toArray函数

java.util.List<E> @NotNull 
public abstract <T> T[] toArray(@NotNull T[] a)
Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this list.
If the list fits in the specified array with room to spare (i.e., the array has more elements than the list), the element in the array immediately following the end of the list is set to null. (This is useful in determining the length of the list only if the caller knows that the list does not contain any null elements.)
Like the toArray() method, this method acts as bridge between array-based and collection-based APIs. Further, this method allows precise control over the runtime type of the output array, and may, under certain circumstances, be used to save allocation costs.
Suppose x is a list known to contain only strings. The following code can be used to dump the list into a newly allocated array of String:
 
     String[] y = x.toArray(new String[0]);
 
Note that toArray(new Object[0]) is identical in function to toArray().

Overrides:
toArray in interface Collection
Params:
a ? the array into which the elements of this list are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.
Type parameters:
<T> ? the runtime type of the array to contain the collection
Returns:
an array containing the elements of this list
Throws:
ArrayStoreException ? if the runtime type of the specified array is not a supertype of the runtime type of every element in this list
NullPointerException ? if the specified array is null
External annotations:
Abstract method toArray: @org.jetbrains.annotations.NotNull
Parameter a: @org.jetbrains.annotations.NotNull

翻译
java.util.List @NotNull

public abstract T[] toArray(@NotNull T[] a)

返回一个包含列表中所有元素的数组(从第一个元素到最后一个元素);返回数组的运行时类型是指定数组的运行时类型。如果列表适合指定的数组,则在其中返回该列表。否则,将使用指定数组的运行时类型和该列表的大小分配一个新数组。

如果列表适合指定的有空间的数组(即,数组的元素比列表的多),则紧挨着列表末尾的数组中的元素被设为null。(只有当调用者知道列表不包含任何空元素时,这在确定列表的长度时才有用。)

与toArray()方法一样,该方法充当基于数组和基于集合的api之间的桥梁。此外,这种方法允许精确控制输出数组的运行时类型,在某些情况下,可以用于节省分配成本。

假设x是一个只包含字符串的列表。下面的代码可以用来将列表转储到一个新分配的String数组中:

String[] y = x.toArray(new String[0]);

注意toArray(新对象[0])在函数中与toArray()相同。

覆盖:

toArray在接口集合

参数:

A -如果列表足够大,则存放列表中所有元素的数组;否则,将为此目的分配相同运行时类型的新数组。

类型参数:

-包含集合的数组的运行时类型

返回:

一个包含此列表元素的数组

抛出:

如果指定数组的运行时类型不是这个列表中每个元素的运行时类型的超类型,则会产生ArrayStoreException异常

NullPointerException -如果指定的数组为空

外部注释:

抽象方法:@org.jetbrains.annotations.NotNull

参数:@org.jetbrains.annotations.NotNull

public static void main(String[] args) {
    List<Double> asList = new ArrayList<Double>() {
        //使用匿名内部类来初始化。
        {
            add(35.6);
            add(3.2);
            add(90.);
        }
    };
    Double []sumVenderNumArray = new Double[]{333333.34,999.9,93.45,23.4,33.};
    Double [] sumVenderNumNum = asList.toArray(sumVenderNumArray);
    System.out.println(JSONObject.toJSONString(sumVenderNumNum));

}

运行结果:

Java 数组内置函数toArray详解

到此这篇关于Java 数组内置函数toArray详解的文章就介绍到这了,更多相关Java toArray解析内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
Jackson 反序列化时实现大小写不敏感设置
Jun 29 Java/Android
浅谈自定义校验注解ConstraintValidator
Jun 30 Java/Android
mybatis中sql语句CDATA标签的用法说明
Jun 30 Java/Android
解析mybatis-plus中的resultMap简单使用
Nov 23 Java/Android
关于ObjectUtils.isEmpty() 和 null 的区别
Feb 28 Java/Android
Java 深入探究讲解简单工厂模式
Apr 07 Java/Android
Flutter集成高德地图并添加自定义Maker的实践
Apr 07 Java/Android
Java设计模式之代理模式
Apr 22 Java/Android
Java由浅入深通关抽象类与接口(上篇)
Apr 26 Java/Android
JAVA 线程池(池化技术)的实现原理
Apr 28 Java/Android
Springboot-cli 开发脚手架,权限认证,附demo演示
Apr 28 Java/Android
springboot读取nacos配置文件
May 20 Java/Android
Java集成swagger文档组件
死磕 java同步系列之synchronized解析
Jun 28 #Java/Android
利用Java设置Word文本框中的文字旋转方向的实现方法
Springboot集成阿里云OSS上传文件系统教程
简单总结SpringMVC拦截器的使用方法
SpringBoot实现异步事件驱动的方法
Jun 28 #Java/Android
Spring整合Mybatis的全过程
Jun 28 #Java/Android
You might like
php缓冲输出实例分析
2015/01/05 PHP
php中smarty实现多模版网站的方法
2015/06/11 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
JavaScript 对象模型 执行模型
2009/12/06 Javascript
JS 控件事件小结
2012/10/31 Javascript
JS函数重载的解决方案
2014/05/13 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
2017/03/22 jQuery
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
vue自定义一个v-model的实现代码
2018/06/21 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Python实现购物程序思路及代码
2017/07/24 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
python对html过滤处理的方法
2018/10/21 Python
Python包和模块的分发详细介绍
2020/06/19 Python
python开发一款翻译工具
2020/10/10 Python
打造经典复古风格的品牌:Alice + Olivia(爱丽丝+奥利维亚)
2016/09/07 全球购物
软件测试企业面试试卷
2016/07/13 面试题
大学生简历的个人自我评价
2013/12/04 职场文书
网上开店必备创业计划书
2014/01/26 职场文书
小学生期末评语
2014/04/21 职场文书
节能环保口号
2014/06/12 职场文书
环保标语大全
2014/06/12 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
国防教育标语
2014/10/08 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python