不要使用循环拷贝数组,尽量使用 System.arraycopy 拷贝数组 推荐使用 System.arraycopy 拷贝数组,也可以使用 Arrays.copyOf 拷贝数组。
集合转化为类型 T 数组时,尽量传入空数组 T[0] 将集合转换为数组有 2 种形式:toArray(new T[n])和 toArray(new T[0])。在旧的 Java 版本中,建议使用 toArray(new T[n]),因为创建数组时所需的反射调用 非常慢。在 OpenJDK6 后,反射调用是内在的,使得性能得以提高,toArray(new T[0])比 toArray(new T[n])效率更高。此外,toArray(new T[n])比 toArray(new T[0])多获取一次列表大小,如果计算列表大小耗时过长,也会导致 toArray(new T[n])效率降低。 建议 集合应该提供一个 toArray(Class clazz)方法,避免无用的空数组初始化(new T[0])。
集合转化为 Object 数组时,尽量使用 toArray()方法 转化 Object 数组时,没有必要使用 toArray[new Object[0]],可以直接使用 toArray()。 避免了类型的判断,也避免了空数组的申请,所以效率会更高。
以上内容摘自《Java工程师必读手册》电子书,点击https://developer.aliyun.com/ebook/download/7780 可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。