`
jianqicui
  • 浏览: 10558 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

toArray用法

 
阅读更多

Java中toArray有两个方法。

public Object[] toArray()

public <T> T[] toArray(T[] a)

两个问题:

1. 有什么区别?

2. 怎么使用?

 

区别是前者会产生ClassCastException,后者不会。为什么呢?

 

来看一下源代码。

    public Object[] toArray() {
        return Arrays.copyOf(elementData, size);
    }
 
    public <T> T[] toArray(T[] a) {
        if (a.length < size)
            // Make a new array of a's runtime type, but my contents:
            return (T[]) Arrays.copyOf(elementData, size, a.getClass());
	System.arraycopy(elementData, 0, a, 0, size);
        if (a.length > size)
            a[size] = null;
        return a;
    }

一看代码很明白了,后者在产生结果前,先复制了一个执行类型的数组。

 

最后介绍下使用方法。

1. Long[] l = new Long[<total size>];
list.toArray(l);

2. Long[] l = (Long[]) list.toArray(new Long[0]);

3. Long[] a = new Long[<total size>];
Long[] l = (Long[]) list.toArray(a);
 
分享到:
评论

相关推荐

    json-to-array:将对象转换为数组

    json到数组 将对象转换为数组例子var ... // [[name, 'luckydrq'], [age, 30]]现实世界中的用法您可以将object更改为ES6 Map : var obj = { a : 1 } ;var es6Map = new Map ( toArray ( obj ) ) ;存在麻省理工学院

    C#中Array与ArrayList用法及转换的方法

    ArrayList与Array的区别概述  ArrayList 是数组的复杂版本。ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能。... 使用 Synchronized 方法可以很容易地创建 ArrayList 的同步

    mongoq:像这样使用 mongoDB

    蒙哥Q 像这样使用 mongoDB: mongoq("testdb").collection("users").find().toArray().done( function(docs){} ).fail( function(err){} ) ; 基于特征标准【连接字符串格式】【连接字符串】 完整的方法支持可链接的...

    Thinkphp5.0 框架Model模型简单用法分析

    本文实例讲述了Thinkphp5.0 框架Model模型简单用法。分享给大家供大家参考,具体如下: 新建user模型User.php: &lt;?php namespace app\index\model; use think\Model; class User extends Model{ } 控制器代码:...

    Java编码规范总结

    修复建议:使用c.toArray(new String[c.size()])。 6.不良实践 - 方法返回boolean类型返回了null。 7.错误用法 - "."用作正则表达式。 修复建议:String的split方法传递的参数是正则表达式,正则表达式本身用到...

    详解PHP神奇又有用的Trait

    但是像python,是支持多继承(即Mixin模式)。...这就需要使用trait。 trait Arrayabletrait{ public function toArray(){ } ...这种情况可以使用一个基类定义toArray方法,则需要将这类基础方法定

    ThoughtWorks.QRCode二维码生成库已修改 支持中文

    使用方法(先引用dll) 示例: QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; qrCodeEncoder.QRCodeScale = 4; qrCodeEncoder....

    PyroCMS使用的轻量级模板解析器。-PHP开发

    更改日志2.3.2仅在parser()方法的开头使用-&gt; toArray()转换对象。 尽管我们想告别PHP 5.3,但现在我们又把它带回来了。 2.3.1添加了一个ArrayableInterface,它可以自动将对象转换为数组。 这允许通过添加-&gt; ...

    使用JNA替代JNI调用DLL,并解决内存溢出问题

    我们上层应用平台是使用java开发的,但开放平台是使用c++开发,虽提供给我们对应的.h头文件,但在java中来解析这些数据就显然有些复杂,在实现、效率上都可能不太理想。 解决方案: 请C++同事帮忙写个dll程序,dll去...

    chrome.exe

    之前在学习Java中,看到toArray()方法,看了一位大牛的博客。受益匪浅,就开始转载.

    C# 生成xml文件,编码为utf-8方法

    最后,使用 MemoryStream 对象的 ToArray 方法将 XML 数据转换为 byte 数组,然后使用 Encoding.UTF8.GetString 方法将其转换为 UTF-8 编码的字符串。 在上面的代码中,首先创建了一个 MemoryStream 对象,然后创建...

    javascript文档

    getUTCMilliseconds 方法 使用全球标准时间(UTC)返回Date 对象的毫秒数。 getUTCMinutes 方法 使用全球标准时间(UTC)返回 Date 对象的分钟数。 getUTCMonth 方法 使用全球标准时间(UTC)返回 Date 对象的月份...

    读jQuery之五(取DOM元素)

    // 获取页面中第二个div 上面两种方式都可以获取某一个特定的DOM元素,而获取DOM元素集合却要使用toArray方法 代码如下: $(‘div’).toArray(); // 返回页面中所有的div,依次放入数组中 看看get方法的源码 代码...

    使用laravel根据用户类型来显示或隐藏字段

    在api开发中,有时候需要对自己以外的其他普通用户隐藏字段,比如隐藏手机号。... * 重写toArray方法 */ public function toArray(){ //获取api用户 $me=app(Request::class)-&gt;user(api); if ($me!=null)

    javascript语言参考+教程 CHM

    toArray 方法; toDateString 方法; toExponential 方法; toFixed 方法; toGMTString 方法; toLocaleDateString 方法; toLocaleLowerCase 方法; toLocaleString 方法; toLocaleTimeString 方法; ...

    linqjs:极简实现LINQ样式JavaScript扩展方法

    与内置的filter和map方法不同,LinqJS中的大多数方法不会为新数组分配内存,除非您在链的末尾专门调用toArray或类似的方法。 LinqJS中所有具有序列值返回类型的方法都可以通过进行迭代。安装: npm i --save @...

    python 文本提取 生成LDA模型的例子 关键词 聚类和lda 文本

    ## 使用TfidfVectorizer将文本转化为向量 #基于词频-逆文本词频方法来进行向量化 ## 如果一个词可以很好地将不同的文档区分开来,算法就会给它分配更高的权重,如果某个词在所有的文档中出现的频率都很高,则说明这...

    ts-utils:Typescript实用程序包

    用法 import { Ring } from "@eunchurn/ring-ts" ; const ring = new Ring ( 100 ) ; ring . push ( 1 ) ; console . log ( ring . toArray ( ) ) // [1] const { isEmpty , count , isFull , size } = testRing ; ...

Global site tag (gtag.js) - Google Analytics